求一个简易的JAVA程序---红绿灯,有两个部分,用下拉表控制灯的颜色,选择红,画布中的灯就变红的那种

上边下拉表,下面画布

按照你的要求,写出的程序如下:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class TrafficLight {
JFrame jf=new JFrame("Traffic Light");
JPanel jp=new JPanel();
JComboBox jcb=new JComboBox();
public TrafficLight(){
jcb.addItem("红灯");
jcb.addItem("黄灯");
jcb.addItem("绿灯");
jcb.addItemListener(new JComboBoxListener());
jf.add(jcb,BorderLayout.NORTH);
jf.add(jp,BorderLayout.CENTER);

jf.setSize(400,400);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
public static void main(String[] args) {
// TODO Auto-generated method stub
new TrafficLight();
}
class JComboBoxListener implements ItemListener{
@Override
public void itemStateChanged(ItemEvent ie) {
Graphics g=jf.getGraphics();
if(ie.getItem().equals("红灯")){
g.setColor(Color.RED);
g.fillOval(200, 200, 100, 100);
}else if(ie.getItem().equals("黄灯")){
g.setColor(Color.YELLOW);
g.fillOval(200, 200, 100, 100);
}else if (ie.getItem().equals("绿灯")){
g.setColor(Color.GREEN);
g.fillOval(200, 200, 100, 100);
}
}
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-05
是他当然高度认识个人的
第2个回答  2011-12-05
不懂,飘过

Warning: Invalid argument supplied for foreach() in /www/wwwroot/www.t2y.org3v3b34/skin/templets/default/contents.html on line 47
相似回答
大家正在搜