java上机 第十一周 任务2 模拟一个信号灯
2012-11-07 23:10
429 查看
/* * 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:模拟一个信号灯 * 作 者:薛广晨 * 完成日期:2012 年 11 月 07 日 * 版 本号:x1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: 在JFrame的北面添加一个下拉列表,该下拉列表有“默认无信号”、“红灯”、“绿灯”和“黄灯”选项。 * 在窗口的中心添加一个画布,当用户在下拉列表选择某项后,在画布上相应的信号灯。 * 程序组成:编写 一个Canvas的子类SignalCanvas,负责画灯。 * 编写 一个GUI类,实现选择画图。编写 一个程序执行入口测试该软件 * 程序输出: * 程序头部的注释结束 */ package xue; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MytransJframe extends JFrame implements ItemListener{ Choice jcb; SignalCanvas sc; MytransJframe() { setLayout(new BorderLayout()); setTitle("交通灯"); setSize(300,300); setVisible(true); jcb = new Choice(); sc = new SignalCanvas(); jcb.addItem("无信号"); jcb.addItem("红灯"); jcb.addItem("黄灯"); jcb.addItem("绿灯"); jcb.addItemListener(this); add(jcb, BorderLayout.NORTH); add(sc, BorderLayout.CENTER); setBounds(100, 100, 240, 240); setVisible(true); validate(); } public void itemStateChanged(ItemEvent e) { String name = (String)jcb.getSelectedItem(); if(name == "无信号") { sc.setMyColor(Color.WHITE); sc.repaint(); } else if(name == "红灯") { sc.setMyColor(Color.RED); sc.repaint(); } else if(name == "黄灯") { sc.setMyColor(Color.YELLOW); sc.repaint(); } else if(name == "绿灯") { sc.setMyColor(Color.GREEN); sc.repaint(); } } } //SignalCanvas类 package xue; import java.awt.*; public class SignalCanvas extends Canvas{ private Color myColor=Color.white; public Color getMyColor() { return myColor; } public void setMyColor(Color myColor) { this.myColor = myColor; } SignalCanvas() { setBackground(Color.white); } public void paint(Graphics g) { g.setColor(myColor); g.drawOval(50, 50, 100, 100); g.fillOval(50, 50, 100, 100); } }
运行结果:
相关文章推荐
- JAVA--第十一周实验--模拟一个信号灯的软件
- JAVA--第十一周实验--模拟一个信号灯的软件--代码重构--升级版
- Java 实训5 编写一个窗体应用程序模拟交通信号灯
- java上机 第五周 任务1 创建一个三角形类
- java上机 第十一周 任务1 算术测试小软件
- Java程序设计(十三)----模拟一个信号灯
- Java实训——编写一个窗体应用程序模拟交通信号灯。
- JAVA第九周任务1.编写一个模拟用户帐户的程序
- java上机 第五周 任务2 创建一个梯形类
- 第十一周上机任务——项目3:(1)输入一个正整数,判断其是否为一个素数
- 第十一周上机任务3-判断一个正整数是否为素数
- java上机 第五周 任务3 创建一个圆形类
- java上机 第五周 任务5 封装一个矩阵类
- 第十一周上机任务项目3
- 用java模拟curl利用cookie登录抓取一个受密码保护的新页面 ( by quqi99 )
- 用java语言中API函数Linklist模拟一个堆栈或者队列数据结构
- java上机 第五周 任务4 测试三个类
- Mockito:一个强大的用于 Java 开发的模拟测试框架
- JAVA--第十二周任务之1.编写一个应用程序,要求编写一个Panel的子类MyPanel,MyPanel中有一个文本框和一个按钮,要求MyPanel的实例作为其按钮的ActionEvent事件的监视
- 第十一周上机任务项目5-体验文件操作练习1