JAVA--第十周之红绿灯的模拟程序

来源:互联网 发布:w7家庭版禁止安装软件 编辑:程序博客网 时间:2024/05/15 00:15

首感:本来没按照课本上做,以为能做出来,但是费了好几天都没做出来,还是知识储备太少了,所以又乖乖看课本。

首先是画布类:

import java.awt.*;import java.awt.Canvas;  import java.awt.Color;  import java.awt.Graphics; class Mycanvas extends Canvas{int x,y,r;Color c2;Mycanvas(){setBackground(Color.white);} public void get(int x){this.x = x;}public void get2(int y){this.y = y;}public void get3(int r){this.r = r;}public void paint(Graphics g){g.setColor(c2);g.fillOval(x, y,2*r,2*r);}public void update(Graphics g){g.clearRect(x, y,2*r,2*r);paint(g);}}


 

然后是主类:

 

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Wancheng extends JFrame implements ItemListener{Mycanvas w;JComboBox c; Wancheng(){ w = new Mycanvas();Panel p1 = new Panel();c = new JComboBox();c.addItem("默认信号");c.addItem("红灯");c.addItem("黄灯");c.addItem("绿灯");p1.add(c);add(w,BorderLayout.CENTER);add(p1,BorderLayout.NORTH);c.addItemListener(this);setBounds(350,350,550,550);setVisible(true);validate();}@Overridepublic void itemStateChanged(ItemEvent arg0) {// TODO Auto-generated method stubint d = c.getSelectedIndex();if (d == 0){w.get(100);w.get2(100);w.get3(100);
}if (d == 1){w.get(100);w.get2(100);w.get3(100);w.c2 = Color.red;w.repaint();}if (d == 2){w.get(100);w.get2(100);w.get3(100);w.c2 = Color.yellow;w.repaint();}if (d == 3){w.get(100);w.get2(100);w.get3(100);w.c2 = Color.green;w.repaint();}}}


 

最后是测试类;

public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubnew Wancheng();}}

 

 

 

 

 

原创粉丝点击