Java龚永罡 - 答案(8)
{ public static void main(String args[]) { ComputerFrame frame;
frame=【代码9】//创建窗口,其标题为:算术测试 } }
? 实验后的练习:
1. 给上述程序增加测试乘、除的功能。
2.信号灯。
? 实验要求:
编写一个带有窗口的应用程序。在窗口的北面添加一个下拉列表,该下拉列表有“”、“”和“”三个选项。在窗口的中心添加一个画布,当用户在下拉列表选择某项后,画布上绘制相应的信号灯。
? 程序运行效果示例:
程序运行效果如下图所示:
? 程序模板:
SignalCanvas.java
import java.awt.*;
public class SignalCanvas extends Canvas { int red,green,yellow,x,y,r; SignalCanvas()
{ setBackground(Color.white); }
public void setRed(int r) { red=r; }
public void setGreen(int g) { green=g; }
public void setYellow(int y) { yellow=y; }
public void setPosition(int x,int y) { this.x=x; this.y=y; }
public void setRadius(int r) { this.r=r; }
public void paint(Graphics g) { if(red==1)
{ g.setColor(Color.red); }
26
else if(green==1) { g.setColor(Color.green); }
else if(yellow==1)
{ g.setColor(Color.yellow); }
g.fillOval(x,y,2*r,2*r); } }
SignalFrame.java
import java.awt.*; import java.applet.*; import java.awt.event.*;
public class SignalFrame extends Frame implements ItemListener { Choice choice;
SignalCanvas signal=null;
String itemRed=\红灯\黄灯\绿灯\ public SignalFrame()
{ choice=【代码1】 //创建choice
【代码2】 //创建choice添加itemRed 【代码3】 //创建choice添加itemYellow 【代码4】 //创建choice添加itemGreen 【代码5】 //将当前窗口注册为choice的ItemEvent事件监视器 add(choice,BorderLayout.NORTH);
try{ Class cs=Class.forName(\ signal=(SignalCanvas)cs.newInstance(); add(signal,BorderLayout.CENTER); }
catch(Exception e)
{ add(new Label(\您还没有编写SignalCanvas
\ }
setBounds(100,100,360,300); setVisible(true); validate();
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e) { System.exit(0); } } ); }
public void itemStateChanged(ItemEvent e)
{ String item= 【代码6】 // choice返回被选中的条目
27
类
int w=signal.getBounds().width; int h=signal.getBounds().height; int m=Math.min(w,h); signal.setRadius(m/6); if(item.equals(itemRed)) { if(signal!=null) { signal.setRed(1); signal.setYellow(0); signal.setGreen(0); signal.setPosition(w/3,0); signal.repaint(); } }
else if(item.equals(itemYellow)) { if(signal!=null) { signal.setRed(0); signal.setYellow(1); signal.setGreen(0);
signal.setPosition(w/3,h/3); signal.repaint(); } }
else if(item.equals(itemGreen)) { if(signal!=null) { signal.setRed(0); signal.setYellow(0); signal.setGreen(1);
signal.setPosition(w/3,2*h/3); signal.repaint(); } } } }
SignalMainClass.java
public class SignalMainClass
{ public static void main(String args[]) { SignalFrame frame; frame=new SignalFrame() ; frame.setTitle(\信号灯\ } }
? 实验后的练习:
1. 改进上述程序,在下拉列表中增加“熄灭所有灯”选项,当选中该项时,画布上绘制一个半径为0,位置是(0,0)的圆。
28
3.布局与日历。
? 实验要求:
编写一个应用程序,有一个窗口,该窗口为BorderLayout布局。窗口的中心添加一个Panel容器:pCenter,pCenter的布局是7行7列的GriderLayout布局,pCenter中放置49个标签,用来显示日历。窗口的北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个按钮:nextMonth和previousMonth,单击nextMonth按钮,可以显示当前月的下一月的日历;单击previousMonth按钮,可以显示当前月的上一月的日历。窗口的南面添加一个Panel容器pSouth,其布局是FlowLayout布局,pSouth中放置一个标签用来显示一些信息。
? 程序运行效果示例:
程序运行效果如下图所示:
CalendarBean.java
import java.util.Calendar; public class CalendarBean {
String day[]; int year=2005,month=0; public void setYear(int year) { this.year=year; }
public int getYear() { return year; }
public void setMonth(int month) { this.month=month; }
public int getMonth() { return month; }
public String[] getCalendar() { String a[]=new String[42]; Calendar 日历=Calendar.getInstance(); 日历.set(year,month-1,1); …… 此处隐藏:1357字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




