Java实现日历,用日历做桌面

  Java实现日历,用日历做桌面

  本文实例为大家分享了爪哇实现桌面日历的具体代码,供大家参考,具体内容如下

  

问题描述:

编写一个程序,有一个窗口,该窗口为边界布局布局。窗口的中心添加一个面板容器:pCenter,pCenter的布局是七行七列的网格布局布局,pCenter的中放置49个标签,用来显示日历。窗口北面添加一个面板容器普诺斯,其布局是布局布局,pNorth放置两个按钮:下个月和上月按钮,单击下个月,可以显示当前月的下一个月的日历;单击上月按钮,可以显示当前月的上一个月的日历。窗口的南面添加一个面板容器pSouth,其布局是布局布局,pSouth中放置一个标签用来显示一些信息。请完成界面设计和相关功能。运行结果如下图所示。

 

  

问题解决:

新建爪哇项目,在项目下新建包装,命名为日历。

 

  CalendarBean.java

  包装日历;导入Java。util。日历;公共类日历豆{ String day[];int year=2018,month=0;public void setYear(int year){ this。年份=年份;} public int getYear(){ return year;} public void set month(int month){ this。月=月;} public int getMonth(){ return month;} public String[]get calendar(){ String a[]=new String[42];日历日历=日历。getinstance();日历。设置(年,月-1,1);(同国际组织)国际组织星期几=日历。获取(日历。星期几)-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)(year0!=0)) (year @ 0==0)){ day=29;} else { day=28} } for(int i=星期几,n=1;我星期几天;I){ a[I]=字符串。(n)值;n;}返回a;} }CalendarFrame.java

  包装日历;导入Java。util。*;导入Java。awt。*;导入Java。awt。事件。*;导入Java。小程序。*;公共类日历框架扩展帧实现action listener { Label Label day[]=new Label[42];按钮标题名称[]=新建按钮[7];字符串名称[]={ 日,一,二,三, 四,五,六};按钮下个月,上个月;int year=2020,month=5;日历豆日历;标签显示消息=新标签(""),标签。中心);公共日历框架(){ Panel pCenter=new Panel();pcenter。设置布局(new GridLayout(7,7));//将pCenter的布局设置为七行七列的网格布局布局for(int I=0;i7;我

  )        {              titleName[i]=new Button(name[i]);            pCenter.add(titleName[i]);//pCenter添加组件titleName[i]。        }        for(int i=0;i<42;i++)        {           labelDay[i]=new Label("",Label.CENTER);           pCenter.add(labelDay[i]);//pCenter添加组件labelDay[i]。        }        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 Button("下月");        previousMonth=new Button("上月");        nextMonth.addActionListener(this);        previousMonth.addActionListener(this);        Panel pNorth=new Panel(),              pSouth=new Panel();        pNorth.add(previousMonth);        pNorth.add(nextMonth);        pSouth.add(showMessage);        showMessage.setText("日历:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" );        ScrollPane scrollPane=new ScrollPane();        scrollPane.add(pCenter);        add(scrollPane,BorderLayout.CENTER);// 窗口添加scrollPane在中心区域        add(pNorth,BorderLayout.NORTH);//  窗口添加pNorth 在北面区域        add(pSouth,BorderLayout.SOUTH);// 窗口添加pSouth 在南区域。     }     public void actionPerformed(ActionEvent e)     {  if(e.getSource()==nextMonth)        { month=month+1;          if(month>12) {              month=1;              year++;          }          calendar.setYear(year);          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;              year--;         }          calendar.setYear(year);          calendar.setMonth(month);          String day[]=calendar.getCalendar();           for(int i=0;i<42;i++)           {                 labelDay[i].setText(day[i]);           }        }       showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );     }}CalendarMainClass.java

  

package Calendar;public class CalendarMainClass{     public static void main(String args[]) {       CalendarFrame frame=new CalendarFrame();     frame.setBounds(100,100,360,300);     frame.setVisible(true);     frame.validate();     frame.addWindowListener(new java.awt.event.WindowAdapter()                              {  public void windowClosing(java.awt.event.WindowEvent e)                                {  System.exit(0);                                }                              }                ); }}

运行结果:

 

  

 

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • winserver2016更改远程桌面端口,winserver2012修改远程桌面端口
  • winserver2016更改远程桌面端口,winserver2012修改远程桌面端口,Windows Server 修改远程桌面端口的实现
  • windows server 2016设置远程桌面,windows2012远程桌面服务
  • windows server 2016设置远程桌面,windows2012远程桌面服务,Windows Server 2016快速入门部署远程桌面服务的详细图文步骤
  • windows10桌面两边的黑边如何去除,window10电脑两边黑边怎么还原
  • kde与xfce,GNOME、KDE、Xfce等桌面环境各自有什么优点
  • kde与xfce,GNOME、KDE、Xfce等桌面环境各自有什么优点,Linux推荐使用Xfce桌面环境的8个原因
  • windows10远程桌面密码,windows远程桌面密码
  • win10玩游戏回到桌面,进游戏就回到桌面
  • win7桌面软件图标不正常显示,win7桌面不显示图标
  • 在windows7系统桌面创建快捷方式可以用哪些方法实现,windows 7桌面上的快捷图标可以
  • 360卫士加速球怎么关,360安全卫士加速球怎么弄到桌面
  • win10桌面窗口管理器占用,win10性能监视小部件桌面
  • win10 专业版 远程桌面,win10远程桌面开启教程
  • 手机动态壁纸软件哪个好 让你的桌面更美观,手机动态壁纸软件哪个好 让你的桌面更美化
  • 留言与评论(共有 条评论)
       
    验证码: