欢迎来到天天文库
浏览记录
ID:38768686
大小:50.00 KB
页数:5页
时间:2019-06-19
《上机实践4 组件及事件处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四组件及事件处理一.实验目的学习处理ActionEvent事件;学习处理ItemEvent事件和paint方法;学习使用布局类。二.实验要求实验前,应事先熟悉相关知识点,拟出相应的实验操作步骤,明确实验目的和要求;实验过程中,服从实验指导教师安排,遵守实验室的各项规章制度,爱护实验仪器设备;实验操作完成后,认真书写实验报告,总结实验经验,分析实验过程中出现的问题。三.实验内容1、算术测试编写一个算术测试小软件,用来训练小学生的算术能力。程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确:ComputerF
2、rame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案:MainClass是软件的主类。2、信号灯编写一个带有窗口的应用程序。在窗口的北面添加一个下拉列表,该下拉列表有“红灯”、“绿灯”和“黄灯”三个选项。在窗口的中心添加一个画布,当用户在下拉列表选择某项后,画布上绘制相应的信号灯。3、布局与日历(1)编写一个应用程序,有一个窗口,该窗口为BorderLayout布局。窗口的中心添加一个Panel容器pCenter:pCenter的布局是7行7列的Grid
3、Layout布局,pCenter中放置49个标签,用来显示日历。窗口的北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个:按钮:nextMonth和previousMonth,单击nextMonth按钮,可以显示当前月的下一月的日历;单击previousMonth,可以显示当前月的上一月的日历。窗口的南面添加一个Panel容器pSouth,其布局是FlowLayout布局,pSouth中放置一个标签用来显示一些信息。(2)请按模板要求,将【代码】替换为Java程序代码。(3)在CalendarFram
4、e类中增加一个TextField文本框,用户可以通过在文本框中输入年份来修改calendar对象的int成员year。CalendarBean.javaimportjava.util.Calendar;publicclassCalendarBean{Stringday[];intyear=2005,month=0;publicvoidsetYear(intyear){this.year=year;}publicintgetYear(){returnyear;}publicvoidsetMonth(intmonth){this.month=mon
5、th;}publicintgetMonth(){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
6、
7、month==3
8、
9、month==5
10、
11、month==7
12、
13、month==8
14、
15、month==10
16、
17、month==12){day=31;
18、}if(month==4
19、
20、month==6
21、
22、month==9
23、
24、month==11){day=30;}if(month==2){if(((year%4==0)&&(year%100!=0))
25、
26、(year%400==0)){day=29;}else{day=28;}}for(inti=星期几,n=1;i<星期几+day;i++){a[i]=String.valueOf(n);n++;}returna;}}CalendarFrame.javaimportjava.util.*;importjava.awt.*;importjava.awt.e
27、vent.*;importjava.applet.*;publicclassCalendarFrameextendsFrameimplementsActionListener{LabellabelDay[]=newLabel[42];ButtontitleName[]=newButton[7];Stringname[]={"日","一","二","三","四","五","六"};ButtonnextMonth,previousMonth;intyear=2006,month=10;CalendarBeancalendar;LabelshowMe
28、ssage=newLabel("",Label.CENTER);publicCalendarFrame(){PanelpCenter=newPanel
此文档下载收益归作者所有