JAVA--第十一周实验--模拟一个信号灯的软件
来源:互联网 发布:wps for linux 编辑:程序博客网 时间:2024/05/22 17:08
Test类
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: 模拟一个信号灯的软件 * 作 者: 雷恒鑫 * 完成日期: 2012 年 11 月 09 日 * 版 本 号: V1.0 * 对任务及求解方法的描述部分 * 输入描述:在JFrame的北面添加一个下拉列表,该下拉列表有“默认无信号”、“红灯”、“绿灯”和“黄灯”选项。 * 输入描述:在窗口的中心添加一个画布,当用户在下拉列表选择某项后,在画布上相应的信号灯。 * 输入描述:程序组成:编写 一个Canvas的子类SignalCanvas,负责画灯。 * 输入描述:编写 一个GUI类,实现选择画图。编写 一个程序执行入口测试该软件。 * 问题描述: * 程序输出: * 程序头部的注释结束 */ package Draw;public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSelect_draw draw = new Select_draw();}}
SignalCanvas类
package Draw;import java.awt.Canvas;import java.awt.Color;import java.awt.Graphics;public class SignalCanvas extends Canvas {int x, y, r, i;SignalCanvas(Color color) {setBackground(color);}public void setX() {this.x = (int) (Math.random() * 100) + 200;}public void setY() {this.y = (int) (Math.random() * 100) + 200;}public void setR() {this.r = (int) (Math.random() * 60) + 60;}public void paint(Graphics g) {if (this.i == 1) {g.setColor(Color.red);// update(Graphics g)} else if (this.i == 2) {System.out.println("画出打印绿灯");g.setColor(Color.green);} else if (this.i == 3) {g.setColor(Color.yellow);} else {System.out.println("画出打印白灯");g.setColor(Color.white);}g.fillOval(x, y, 2 * r, 2 * r);}public void setI(int i) {this.i = i;}}
Select_draw类
package Draw;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.*;public class Select_draw extends JFrame implements ItemListener{SignalCanvas myCanvas;Choice choice;Select_draw(){//Frame jf = new Frame("画布");setTitle("信号灯");choice = new Choice();choice.add("默认无信号");choice.add("红灯");choice.add("绿灯");choice.add("黄灯");add(choice,BorderLayout.NORTH);choice.addItemListener(this);myCanvas = new SignalCanvas(Color.white);add(myCanvas,BorderLayout.CENTER);setSize(600,600);setVisible(true);}public void itemStateChanged(ItemEvent e){String name = choice.getSelectedItem();System.out.println(name);if(name == "红灯"){//myCanvas = new SignalCanvas(Color.red);//System.out.println(e.getSource());myCanvas.setI(1);myCanvas.setX();myCanvas.setY();myCanvas.setR();//myCanvas.setX();myCanvas.repaint();}else if(name == "绿灯"){System.out.println("打印绿灯");//myCanvas = new SignalCanvas(Color.blue);myCanvas.setI(2);myCanvas.setX();myCanvas.setY();myCanvas.setR();myCanvas.repaint();}else if(name == "黄灯"){//myCanvas = new SignalCanvas(Color.yellow);myCanvas.setI(3);myCanvas.setX();myCanvas.setY();myCanvas.setR();myCanvas.repaint();}else{//myCanvas = new SignalCanvas(Color.white);myCanvas.setI(4);myCanvas.setX();myCanvas.setY();myCanvas.setR(); myCanvas.repaint();}//myCanvas = new SignalCanvas("");}}
运行结果:
- JAVA--第十一周实验--模拟一个信号灯的软件
- JAVA--第十一周实验--模拟一个信号灯的软件--代码重构--升级版
- java上机 第十一周 任务2 模拟一个信号灯
- 模拟一个信号灯的软件
- JAVA--第十一周实验--编写一个算术测试小软件
- JAVA--第十一周实验--编写一个算术测试小软件
- 《我的信号灯——Java第十一周》
- Java程序设计(十三)----模拟一个信号灯
- Java第十一周实验报告1
- java ----- 模拟信号灯
- 第十一周实验报告
- Java 实训5 编写一个窗体应用程序模拟交通信号灯
- 《编写一个算术测试小软件——Java第十一周》
- 模拟交通信号灯(Java)
- 第十一周实验报告1
- 第十一周实验报告2
- 第十一周实验报告2
- 第十一周实验报告一之循环结构的运用
- Red
- binder ---传递文件描述符
- 正则表达式(1)
- 杂记之C语言之指针(三)
- Obtaining a stack trace in C upon SIGSEGV
- JAVA--第十一周实验--模拟一个信号灯的软件
- 上CSDN的女人?
- nginx python spawn-fcgi Flup webpy搭建python的web环境
- linux初试
- 个人vimrc存档 (2012-11-9)
- 手机防盗软件的实现
- SQL server 2008删除管理员账户恢复办法
- 某公司招聘要求
- HibernateTemplate的常规用法