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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。