小程序日历控件,网页日历小程序
本文实例为大家分享了爪哇岛实现日历窗口小程序的具体代码,供大家参考,具体内容如下
标签:爪哇基础
功能:
1.按月翻页。
2.输入月份年份,直接跳转。
效果图:
//CalendarMainClass.javapublic类calendar main class { public static void main(String args[]){ calendar frame frame=new calendar frame();frame.setBounds(100,100,360,300);框架。设置可见(真);frame.setYearAndMonth(2017,12);} }//日历bean。javaimport Java。util。日历;公共类CalendarBean{ int year=2017,month=12 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];//日历最多可达6行日历rili=日历。getinstance();rili.set(年,月- 1,1);//模拟翻日历int weekDay=rili.get(Calendar .星期几)-2;///计算出一号的星期int day=0;如果(月==1 月==3 月==5 月==7 月==8 月==10 月==12)天=31;if(month==4 month==6 month==9 month==11)day=30;if(month==2){ if(((year % 4==0)(year % 100!=0)) 年% 400==0)日=29;else day=28 }//if(weekDay==0)weekDay=7;for(int I=0;我工作日;I)a[I]=" ";//日历顺序输出,格式控制for(int i=weekDay,n=1;我工作日;I){ a[I]=字符串。(n)值;n;} for(int i=工作日;我是洛杉矶人。长度;I)a[I]=" ";返回a;} }//日历框架。javaimport Java。util。*;导入Java。awt。*;导入Java。awt。事件。*;导入javax。挥棒。*;导入javax。挥棒。边框。*;公共类日历框架扩展窗口实现动作监听器{ JLabel label day[]=new JLabel[42];JButton title name[]=new JButton[7];字符串名称[]={ 一, 二, 三, 四, 五, 六, 日};JButton nextMonth,previousMonth,go;单行文本纺织厂
ar, textMonth; CalendarBean calendar; JLabel showMessage = new JLabel("", JLabel.CENTER); int year = 2017, month = 12; 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.RAISED)); pCenter.add(labelDay[i]); } calendar = new CalendarBean(); nextMonth = new JButton("next"); previousMonth = new JButton("previous"); go = new JButton("goto"); textYear = new JTextField(4); textMonth = new JTextField(2); nextMonth.addActionListener(this); previousMonth.addActionListener(this); go.addActionListener(this); JPanel pNorth = new JPanel(), pSouth = new JPanel(); pNorth.add(previousMonth); pNorth.add(showMessage); pNorth.add(nextMonth); pSouth.add(textYear); pSouth.add(textMonth); pSouth.add(go); 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++){ if(i % 7 == 0) System.out.println(""); System.out.printf("%4s", day[i]); } */ for(int i = 0; i < 42; i++) labelDay[i].setText(day[i]); showMessage.setText(calendar.getYear() + "/" + calendar.getMonth()); } public void actionPerformed(ActionEvent e){ if(e.getSource() == nextMonth){ //下一个月 month += 1; if(month > 12){ year += 1; month = 1; } 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 -= 1; if(month < 1){ year -= 1; month = 12; } 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() == go){ //跳转 year = Integer.parseInt(textYear.getText().trim()); month = Integer.parseInt(textMonth.getText().trim()); 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()); }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。