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

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

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

服務器之家 - 編程語言 - Java教程 - Java實現的日歷功能完整示例

Java實現的日歷功能完整示例

2021-07-17 11:50c_jian Java教程

這篇文章主要介紹了Java實現的日歷功能,結合完整實例形式分析了Java日歷功能相關的日期時間獲取、計算、顯示等操作技巧,需要的朋友可以參考下

本文實例講述了java實現的日歷功能。分享給大家供大家參考,具體如下:

應用名稱:java日歷

用到的知識:java gui編程,日期操作

開發環境:win8+eclipse+jdk1.8

功能說明:一個很簡單的萬年歷,可以選擇年份和月份,也可以用按鈕翻頁,日歷會實時更新日期,最下方會顯示當前操作系統的時間。

效果圖:

Java實現的日歷功能完整示例

源代碼:

calendarframe.java

?
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
125
126
127
import java.awt.borderlayout;
import java.awt.gridlayout;
import java.awt.event.actionevent;
import java.awt.event.actionlistener;
import java.text.simpledateformat;
import java.util.date;
import javax.swing.jbutton;
import javax.swing.jcombobox;
import javax.swing.jframe;
import javax.swing.jlabel;
import javax.swing.jpanel;
import javax.swing.border.bevelborder;
import javax.swing.border.softbevelborder;
public class calendarframe extends jframe implements actionlistener{
  /**
   * @author nut
   * 2016.01.13
   */
  private static final long serialversionuid = -7260798316896145633l;
  jlabel labelday[] = new jlabel[42];
  jbutton titlename[] = new jbutton[7];
  string name[]={"日","一","二","三","四","五","六"};
  jbutton nextmonth,previousmonth;
  jcombobox choiceyear,choicemonth;
  calendarbean calendar;
  jlabel showyear,showmonth;
  jlabel showmessage=new jlabel("",jlabel.center);
  int year = 2011,month=2;
  //構造方法初始化界面
  public calendarframe(){
    jpanel pcenter = new jpanel();
    pcenter.setlayout(new gridlayout(7,7));
    //星期欄
    for(int i=0;i<7;i++){
      titlename[i]=new jbutton(name[i]);
      titlename[i].setborder(new softbevelborder(bevelborder.raised));
      pcenter.add(titlename[i]);
    }
    //日期欄
    for(int i=0;i<42;i++){
      labelday[i]=new jlabel("",jlabel.center);
      labelday[i].setborder(new softbevelborder(bevelborder.lowered));
      pcenter.add(labelday[i]);
    }
    //年月選擇欄
    choiceyear=new jcombobox();
    choicemonth=new jcombobox();
    showyear=new jlabel("年");
    showmonth=new jlabel("月  ");
    for(int i=1990;i<2050;i++)
      choiceyear.additem(i);
    choiceyear.addactionlistener(this);
    for(int i=1;i<=12;i++)
      choicemonth.additem(i);
    choicemonth.addactionlistener(this);
    calendar=new calendarbean();
    nextmonth=new jbutton("下月");
    previousmonth=new jbutton("上月");
    nextmonth.addactionlistener(this);
    previousmonth.addactionlistener(this);
    jpanel pnorth=new jpanel(),
    psouth=new jpanel();
    pnorth.add(choiceyear);
    pnorth.add(showyear);
    pnorth.add(choicemonth);
    pnorth.add(showmonth);
    pnorth.add(previousmonth);
    pnorth.add (nextmonth);
    psouth.add(showmessage);
    add(pcenter,borderlayout.center);
    add(pnorth,borderlayout.north);
    add(psouth,borderlayout.south);
    setyearandmonth(year,month);
    setdefaultcloseoperation(dispose_on_close);
  }
public void setyearandmonth(int y,int m){
  calendar.setyear(y);
  calendar.setmonth(m);
  string day[]=calendar.getcalendar();
  for(int i=0;i<42;i++)
    labelday[i].settext(day[i]);
  simpledateformat df = new simpledateformat("yyyy年mm月dd日 eeee");//設置日期格式
  showmessage.settext("系統時間:"+df.format(new date()));
}
//事件動作
public void actionperformed(actionevent e){
  if(e.getsource()==nextmonth){
    month=month +1;
    if(month>12)
      month=1;
    calendar.setmonth(month);
    choicemonth.setselecteditem(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);
    choicemonth.setselecteditem(month);
    string day[]=calendar.getcalendar();
    for(int i=0;i<42;i++){
      labelday[i].settext(day[i]);
    }
  }
  //選擇年份
  else if (e.getsource()==choiceyear){
    calendar.setyear((integer) choiceyear.getselecteditem());
    string day[]=calendar.getcalendar();
    for(int i=0;i<42;i++){
      labelday[i].settext(day[i]);
      }
    }
  //選擇月份
  else if (e.getsource()==choicemonth){
    calendar.setmonth((integer) choicemonth.getselecteditem());
    string day[]=calendar.getcalendar();
    for(int i=0;i<42;i++){
        labelday[i].settext(day[i]);
    }
  }
//  showmessage.settext("日歷:"+calendar.getyear()+"年"+calendar.getmonth()+"月");
}
}

calendarbean.java

?
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
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 日歷=calendar.getinstance();
   日歷.set(year,month-1,1);
   int 星期幾=日歷.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=星期幾,n=1;i<星期幾+day;i++){
     a[i]=string.valueof(n);
     n++;
   }
   return a;
 }
}

calendarmainclass.java

?
1
2
3
4
5
6
7
8
9
10
public class calendarmainclass{
  public static void main(string args[])
  {
    calendarframe frame = new calendarframe();
    frame.setbounds(100,100,360,300);
    frame.settitle("java日歷");
    frame.setvisible(true);
    frame.setyearandmonth(1990,1);//設置日歷初始值為1990年1月
  }
}

ps:這里再為大家推薦幾款時間及日期相關工具供大家參考使用:

unix時間戳(timestamp)轉換工具:https://tool.zzvips.com/t/timestamp/

在線秒表計時器:https://tool.zzvips.com/t/miaobiao/

在線萬年歷:https://tool.zzvips.com/t/wannianli/

希望本文所述對大家java程序設計有所幫助。

原文鏈接:https://blog.csdn.net/C_jian/article/details/50513386

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 二次元美女互摸隐私互扒 | 男人天堂官方网站 | tobu8在线观看免费高清 | 色婷婷久久综合中文久久一本` | 9久re在线观看视频精品 | 色狠狠狠狠狠香蕉 | 奇米影视999 | 亚洲国产欧美在线看片 | 香蕉国产成版人视频在线观看 | 俄罗斯一级成人毛片 | 欧洲兽皇| 国产美女亚洲精品久久久综合 | aika跟黑人太猛了 | 国产精品视频免费看 | 4438全国最大成人网视频 | a v在线男人的天堂观看免费 | 好大用力深一点女公交车 | 精品久久看 | 非洲黑人又大粗gay 非洲黑人bbwbbwbbw | 惩罚美女妲己的尤老师 | 免费视频片在线观看 | 人人揉揉香蕉 | 久久免费特黄毛片 | 国产精品久久免费观看 | 99人中文字幕亚洲区 | 亚洲国产视频网站 | 小早川怜子息梦精在线播放 | 欧美成人tv | 色综合久久天天综合观看 | 草莓在深夜释放自己软件 | 满溢游泳池免费土豪全集下拉版 | 国产99视频精品免费视频7 | 深夜在线网站 | 香蕉在线精品一区二区 | 亚洲视屏在线观看 | 新新电影理论中文字幕 | 91短视频在线免费观看 | a一级一级 | 91看片淫黄大片.在线天堂 | waswaswas免费| 欧美精品一国产成人性影视 |