资源描述:
《《使用布局管理器》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.3使用布局管理器主讲教师:董婷一、知识能力目标1.理解容器的概念及层次;2.掌握常用布局管理器的使用;3.运用布局管理器设计布局美观的GUI程序二、项目14电子日历显示2008年的电子日历1.程序代码importjava.util.Calendar;importjava.util.*;importjava.awt.*;importjava.awt.event.*;importjava.applet.*;publicclassCalendarMainClass{publicstaticvoidma
2、in(Stringargs[]){CalendarFrameframe=newCalendarFrame();frame.setBounds(100,100,360,300);//设置窗体位置大小frame.setVisible(true);//设置窗体可见frame.validate();frame.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}}clas
3、sCalendarBean{//创建用于判断年月日之间关系的类CalendarBeanStringday[];intyear=2008,month=0;publicvoidsetYear(intyear){//设置年份的方法this.year=year;}publicintgetYear(){//获得年份的方法returnyear;}publicvoidsetMonth(intmonth){//设置月份的方法this.month=month;}publicintgetMonth(){//获得月份的方
4、法returnmonth;}publicString[]getCalendar(){Stringa[]=newString[42];Calendar日历=Calendar.getInstance();日历.set(year,month-1,1);int星期几=日历.get(Calendar.DAY_OF_WEEK)-1;intday=0;if(month==1
5、
6、month==3
7、
8、month==5
9、
10、month==7
11、
12、month==8
13、
14、month==10
15、
16、month==12){day=31;
17、}if(month==4
18、
19、month==6
20、
21、month==9
22、
23、month==11){day=30;}if(month==2){//判断月份是否为2月if(((year%4==0)&&(year%100!=0))
24、
25、(year%400==0)){//判断是否为闰年day=29;}else{day=28;}}for(inti=星期几,n=1;i<星期几+day;i++){a[i]=String.valueOf(n);n++;}returna;}}classCalendarFrameextendsF
26、rameimplementsActionListener{//创建日历界面类CalendarFrameLabellabelDay[]=newLabel[42];ButtontitleName[]=newButton[7];Stringname[]={"日","一","二","三","四","五","六"};ButtonnextMonth,previousMonth;intyear=2008,month=2;CalendarBeancalendar;LabelshowMessage=newLabel(
27、"",Label.CENTER);publicCalendarFrame(){PanelpCenter=newPanel();//创建pCenter面板pCenter.setLayout(newGridLayout(7,7));//将pCenter的布局设置为7行7列的GridLayout布局for(inti=0;i<7;i++){titleName[i]=newButton(name[i]);pCenter.add(titleName[i]);}for(inti=0;i<42;i++){label
28、Day[i]=newLabel("",Label.CENTER);pCenter.add(labelDay[i]);}calendar=newCalendarBean();calendar.setYear(year);calendar.setMonth(month);Stringday[]=calendar.getCalendar();for(inti=0;i<42;i++){labelDay[i].setText(day[i]);}nextMonth=newButt