JAVA--第十一周实验--模拟一个信号灯的软件
2012-11-09 22:35
495 查看
Test类
SignalCanvas类
Select_draw类
运行结果:
/* (程序头部注释开始) * 程序的版权和版本声明部分 * 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 stub Select_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--第十一周实验--编写一个算术测试小软件
- java上机 第十一周 任务2 模拟一个信号灯
- Java实训——编写一个窗体应用程序模拟交通信号灯。
- Java 实训5 编写一个窗体应用程序模拟交通信号灯
- 计算机网络实验,JAVA实现一个简单GBN协议,模拟引入数据包的丢失,验证协议的有效性
- JAVA--第九周实验--编写一个模拟用户帐户的程序(内测版)
- 《编写一个算术测试小软件——Java第十一周》
- Java程序设计(十三)----模拟一个信号灯
- 模拟一个信号灯的软件
- org.apache.catalina.connector.ClientAbortException: java.io.IOException: 您的 主机中的软件中止了一个已建立的连接。
- Mockito:一个强大的用于 Java 开发的模拟测试框架
- java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
- 接入安卓SDK java.io.IOException: 您的主机中的软件中止了一个已建立的连接异常
- java swt 开发的一个小型应用程序(从设计到打包成软件.exe文件的总结)
- JAVA第十周实验封装一类Java对象,计算两个大整数(如123456789123456789123456789和987654321987654321987654321)的和、差、积和商,并计算一个大
- 如何解决tomcat中的应用报java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
- Visual Paradigm - 一个用于绘制UML的java实现的一个工具软件
- 内存管理模拟实验之实现一个简单的固定(可变)分区存储管理系统