一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - Java實現簡單日歷小程序 Java圖形界面小日歷開發

Java實現簡單日歷小程序 Java圖形界面小日歷開發

2021-04-06 11:25明禮馨德 JAVA教程

這篇文章主要介紹了Java實現簡單日歷小程序,如何用Java swing開發一款簡單的小日歷,具有一定的參考價值,感興趣的小伙伴們可以參考一下

今天給大家介紹一下如何用Java swing開發一款簡單的小日歷,下面我們來看代碼:
首先創建一個CalendarBean類,用于基本的日期計算:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package other1;
 
import java.util.Calendar;  
  
public class CalendarBean  
{  
    String day[];  
    int year=2005,month=0;     
    public void setYear(int year)  
    {  
      this.year=year;  
    }  
      
    public int getYear()  
    {  
      return year;  
    }  
      
    public void setMonth(int month)  
    {  
      this.month=month;  
    }  
      
    public int getMonth()  
    {  
      return month;  
    }  
      
    public String[] getCalendar()  
    {  
      String a[]=new String[42];  
      Calendar date=Calendar.getInstance();  
      date.set(year,month-1,1);  
      int week=date.get(Calendar.DAY_OF_WEEK)-1;  
      int day=0;  
       
      //判斷大月份 
      if(month==1||month==3||month==5||month==7
       ||month==8||month==10||month==12)  
      {  
        day=31;  
      }  
        
      //判斷小月 
      if(month==4||month==6||month==9||month==11)  
      {  
        day=30;  
      }  
        
      //判斷平年與閏年 
      if(month==2)  
      {  
        if(((year%4==0)&&(year%100!=0))||(year%400==0))  
        {  
          day=29;  
        }  
          
        else  
        {  
          day=28;  
        }  
      }  
        
      for(int i=week,n=1;i<week+day;i++)  
      {  
          a[i]=String.valueOf(n) ;  
          n++;  
      }       
      return a;  
    }  
}

然后再創建一個主界面類,用于界面的實現:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package other1;
 
import java.awt.*;  
import java.awt.event.*;  
import javax.swing.*; 
  
public class CalendarFrame extends JFrame implements ActionListener  
{  
    JLabel labelDay[]=new JLabel[42];  
    JTextField text=new JTextField(10); 
    JButton titleName[]=new JButton[7];  
    JButton button = new JButton(); 
    String name[]={"日","一","二","三", "四","五","六"};  
    JButton nextMonth,previousMonth;  
    int year=1996,month=1; //啟動程序顯示的日期信息 
    CalendarBean calendar;  
    JLabel showMessage=new JLabel("",JLabel.CENTER);  
    JLabel lbl1 = new JLabel("請輸入年份:"); 
    JLabel lbl2=new JLabel("   "); 
  
    public CalendarFrame()  
    {
    setBackground(new Color(0, 128, 128));  
      JPanel pCenter=new JPanel();  
      pCenter.setBackground(new Color(0, 139, 139));
        
     //將pCenter的布局設置為7行7列的GridLayout 布局。  
      pCenter.setLayout(new GridLayout(7,7));  
        
     //pCenter添加組件titleName[i] 
      for(int i=0;i<7;i++)  
      {  
        titleName[i]=new JButton(name[i]);  
        pCenter.add(titleName[i]);  
      }  
  
     //pCenter添加組件labelDay[i] 
      for(int i=0;i<42;i++)  
      {  
        labelDay[i]=new JLabel("",JLabel.CENTER);  
        pCenter.add(labelDay[i]); 
      }  
        
      text.addActionListener(this); 
      calendar=new CalendarBean();  
      calendar.setYear(year);  
      calendar.setMonth(month);  
      String day[]=calendar.getCalendar();  
  
      for(int i=0;i<42;i++)  
      {  
        labelDay[i].setText(day[i]);  
      }  
  
      nextMonth=new JButton("下月");  
      previousMonth=new JButton("上月");  
      button=new JButton("確定"); 
        
      //注冊監聽器 
      nextMonth.addActionListener(this);  
      previousMonth.addActionListener(this);  
      button.addActionListener(this); 
        
      JPanel pNorth=new JPanel(), 
      pSouth=new JPanel();  
      pNorth.add(showMessage);  
      pNorth.add(lbl2);  
      pNorth.add(previousMonth);  
      pNorth.add(nextMonth);  
      pSouth.add(lbl1);     
      pSouth.add(text); 
      pSouth.add(button); 
      showMessage.setText("日歷:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" ); 
      ScrollPane scrollPane=new ScrollPane();  
      scrollPane.add(pCenter);  
      getContentPane().add(scrollPane,BorderLayout.CENTER);// 窗口添加scrollPane在中心區域  
      getContentPane().add(pNorth,BorderLayout.NORTH);// 窗口添加pNorth 在北面區域  
      getContentPane().add(pSouth,BorderLayout.SOUTH);// 窗口添加pSouth 在南區域。 
  
    }  
     
    public void actionPerformed(ActionEvent e)  
    {  
      if(e.getSource()==nextMonth)  
      {  
        month=month+1;  
        if(month>12)  
        month=1;  
        calendar.setMonth(month);  
        String day[]=calendar.getCalendar();  
  
        for(int i=0;i<42;i++)  
        
          labelDay[i].setText(day[i]);  
        }  
       }  
      else if(e.getSource()==previousMonth)  
      {  
        month=month-1;        
        if(month<1)  
        month=12;  
        calendar.setMonth(month);  
        String day[]=calendar.getCalendar();  
  
        for(int i=0;i<42;i++)  
        {  
          labelDay[i].setText(day[i]);  
        }  
       }  
      else if(e.getSource()==button) 
      
        month=month+1;        
        if(month>12)         
           month=1;        
        calendar.setYear(Integer.parseInt(text.getText()));        
        String day[]=calendar.getCalendar();         
        for(int i=0;i<42;i++) 
        
          labelDay[i].setText(day[i]); 
        
      
     showMessage.setText("日歷:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );  
    }  
}

最后用一個類調用即可:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package other1;
 
import javax.swing.JFrame; 
import javax.swing.UIManager; 
  
public class CalendarMainClass  
{  
    public static void main(String args[])  
    {  
       try
         UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); //windows界面風格 
       }catch (Exception e) { 
        e.printStackTrace(); 
       
       CalendarFrame frame=new CalendarFrame();  
       frame.setBounds(100,100,360,300);  
       frame.setTitle("日歷小程序"); 
       frame.setLocationRelativeTo(null);//窗體居中顯示 
       frame.setVisible(true);  
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    }  
}

運行結果如下:

Java實現簡單日歷小程序 Java圖形界面小日歷開發

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/llqqxf/article/details/51910139

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久学生精品国产自在拍 | 日本人啪啪 | 精品亚洲欧美中文字幕在线看 | 黄蓉h系列 | 香蕉免费高清完整 | 亚洲午夜小视频 | 天天综合天天综合色在线 | 男女操bb| 喜欢老头吃我奶躁我的动图 | 精品一区二区三区高清免费观看 | 俺去俺来也www色官网免费的 | 精品第一国产综合精品蜜芽 | 校园纯肉H教室第一次 | 欧美一级视频在线 | 亚洲精品福利在线 | 亚洲第一福利视频 | 无人区在线观看免费观看 | 私人家庭影院5577 | 色婷婷六月丁香在线观看 | 亚洲AVAV天堂AV在线网爱情 | 九九久久国产精品免费热6 九九精品视频一区二区三区 | 草莓视频首页 | 星空无限传媒视频在线观看视频 | 男人天堂网www | 风间由美理论片在线观看 | 免费看60分钟大片视频播放 | 天天狠天天天天透在线 | 国产欧美精品一区二区三区四区 | 青苹果乐园影院在线播放 | 日韩一级在线观看 | 欧美成黑人性猛交xxoo | 亚洲 另类 欧美 变态屎尿 | 四缺一小说 | 69老司机亚洲精品一区 | 日本一区视频 | 亚洲美女啪啪 | 美女的让男生桶 | 欧美专区视频 | 99久久久久国产精品免费 | 天若有情1992国语版完整版 | 欧美亚洲国产精品久久第一页 |