java上机 第十一周 任务2 模拟一个信号灯
来源:互联网 发布:java待遇 编辑:程序博客网 时间:2024/05/16 19:09
/* * 程序头部注释开始 * 程序的版权和版本声明部分 * 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上机 第十一周 任务2 模拟一个信号灯
- JAVA--第十一周实验--模拟一个信号灯的软件
- JAVA--第十一周实验--模拟一个信号灯的软件--代码重构--升级版
- 第十一周上机任务2-百钱百鸡问题
- 第十一周上机任务项目2
- 第十一周上机任务--换分币
- java上机 第十一周 任务1 算术测试小软件
- 百钱买百鸡(第十一周上机任务)
- 第十一周上机任务(百钱百鸡)
- 第十一周上机任务4-大奖赛评分
- 第十一周上机任务(判断素数)
- 第十一周上机任务(换分币)
- 第十一周上机任务项目3
- 第十一周上机任务项目4
- 第十一周上机任务项目一
- 第十一周上机任务项目1
- 第十一周上机任务3-判断一个正整数是否为素数
- 《我的信号灯——Java第十一周》
- 有没有人人给机会
- javascript事件
- SCCM 的 Branch distribution point 的使用
- zoj1045-HandOver
- 机顶盒输入输出接口
- java上机 第十一周 任务2 模拟一个信号灯
- Xen添加一个hypercall
- 谈谈你对面向对象编程的认识
- 求最长重复子串(后缀数组)
- error c3872: “0x3000”: 此字符不允许在标识符中使用
- android面试题总结加强再加强版(一)
- zombie process
- Linux中与进程终止相关的信号SIGTERM,SIGKILL,SIGINT
- 安装Zend Framework