Java實現(xiàn)簡單的日歷界面
更新時間:2022年06月13日 17:07:27 作者:one_silent_night
這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單的日歷界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Java實現(xiàn)簡單日歷界面的具體代碼,供大家參考,具體內(nèi)容如下
請使用JFrame、JPanel、JButton、JLabel和不同的布局管理器,實現(xiàn)如下日歷視圖。

import java.awt.*;
import javax.swing.*;
public class Main {
?? ?public static void main(String[] args) {
?? ??? ?JFrame frame = new JFrame("calendar");
?? ??? ?frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
?? ??? ?
?? ??? ?//第一部分
?? ??? ?FlowLayout flow = new FlowLayout(FlowLayout.CENTER);
?? ??? ?flow.setHgap(20); ? ? ? ? //設(shè)置橫向間距
?? ??? ?//flow.setVgap(10); ? ? ? ?//設(shè)置縱向間距
?? ??? ?JPanel paneln = new JPanel(flow);
?? ??? ?JLabel l1 = new JLabel("2021年 7月");
?? ??? ?JButton left1 = new JButton("<<");
?? ??? ?JButton left2 = new JButton("<");
?? ??? ?JButton right1 = new JButton(">");
?? ??? ?JButton right2 = new JButton(">>");
?? ??? ?paneln.add(left1);
?? ??? ?paneln.add(left2);
?? ??? ?paneln.add(l1);
?? ??? ?paneln.add(right1);
?? ??? ?paneln.add(right2);
?? ??? ?frame.add(paneln, BorderLayout.NORTH);
?? ??? ?//第一部分
?? ??? ?
?? ??? ?
?? ??? ?//第二部分
?? ??? ?JPanel week = new JPanel(new GridLayout(1,7)); ? ?//設(shè)置1行7列的格式
?? ??? ?JLabel weeknum[] = new JLabel[7];
?? ??? ?weeknum[0] = new JLabel("一",JLabel.CENTER);
?? ??? ?weeknum[1] = new JLabel("二",JLabel.CENTER);
?? ??? ?weeknum[2] = new JLabel("三",JLabel.CENTER);
?? ??? ?weeknum[3] = new JLabel("四",JLabel.CENTER);
?? ??? ?weeknum[4] = new JLabel("五",JLabel.CENTER);
?? ??? ?weeknum[5] = new JLabel("六",JLabel.CENTER);
?? ??? ?weeknum[6] = new JLabel("日",JLabel.CENTER);
?? ??? ?weeknum[6].setPreferredSize(new Dimension(75,75)); ? ? //設(shè)置單元格大小
?? ??? ?weeknum[6].setBorder(BorderFactory.createLineBorder(Color.gray)); ? ? ?//設(shè)置顯示邊框并設(shè)計為灰色
?? ??? ?week.add(weeknum[6]);
?? ??? ?for(int i=0;i<6;i++)
?? ??? ?{
?? ??? ??? ?weeknum[i].setPreferredSize(new Dimension(75,75)); ? ? ?//設(shè)置單元格大小
?? ??? ??? ?weeknum[i].setBorder(BorderFactory.createLineBorder(Color.gray)); ? ? //設(shè)置顯示邊框并設(shè)計為灰色
?? ??? ??? ?week.add(weeknum[i]);
?? ??? ?}
?? ??? ?frame.add(week,BorderLayout.CENTER);
?? ??? ?//第二部分
?? ??? ?
?? ??? ?
?? ??? ?//第三部分
?? ??? ?JPanel date = new JPanel(new GridLayout(5,7));
?? ??? ?JButton datenum[] = new JButton[35];
?? ??? ?int i;
?? ??? ?Font font = new Font("宋體", Font.ITALIC,12); ? ? //設(shè)置個別數(shù)字字體
?? ??? ?for(i=0;i<4;i++) {
?? ??? ??? ?String arr = ""+(i+27);
?? ??? ??? ?datenum[i] = new JButton(arr);
?? ??? ??? ?datenum[i].setFont(font); ? ? ?//實現(xiàn)字體設(shè)置
?? ??? ??? ?date.add(datenum[i]);
?? ??? ??? ?datenum[i].setPreferredSize(new Dimension(75,75)); ? ?//設(shè)置單元格大小
?? ??? ?} ? ?//添加個別數(shù)字日期
?? ??? ?for(i=0;i<31;i++) {
?? ??? ??? ?String arr = ""+(i+1);
?? ??? ??? ?datenum[i] = new JButton(arr);
?? ??? ??? ?date.add(datenum[i]);
?? ??? ??? ?datenum[i].setPreferredSize(new Dimension(75,75)); ? ?//設(shè)置單元格大小
?? ??? ?} ? ?//添加正常數(shù)字日期
?? ??? ?frame.add(date,BorderLayout.SOUTH);
?? ??? ?//第三部分
?? ??? ?
?? ??? ?
?? ??? ?frame.pack();
?? ??? ?frame.setVisible(true);
?? ?}
}運行結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合MyBatis-Plus3.1教程詳解
這篇文章主要介紹了SpringBoot整合MyBatis-Plus3.1詳細教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
Java基礎(chǔ)之switch分支結(jié)構(gòu)詳解
這篇文章主要介紹了Java基礎(chǔ)之switch分支結(jié)構(gòu)詳解,文中有非常詳細的代碼示例,對正在學習java的小伙伴們有很大的幫助,需要的朋友可以參考下2021-05-05
詳解獲取Spring MVC中所有RequestMapping以及對應(yīng)方法和參數(shù)
本篇文章主要介紹了詳解獲取Spring MVC中所有RequestMapping以及對應(yīng)方法和參數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03

