您的位置:首页 > 编程语言 > Java开发

Java 实训5 编写一个窗体应用程序模拟交通信号灯

2017-10-28 19:15 453 查看
题目描述:

在窗口的北面添加一个下拉列表,该下拉列表有“红灯”,“绿灯”,“黄灯”三个选项。在窗口的中心添加一个画布,当用户在下拉列表选择某项后,画布上绘制相应的信号灯。

参考结果:



代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.awt.Graphics;

public class Test extends JFrame {
public JComboBox box;
int flag = 0;
jpNewPanel jpNewPanel;

public static void main(String[] args) {
Test frame = new Test();
frame.setSize(500, 500);//图形界面大小
frame.setLocationRelativeTo(null);//图形界面出现在屏幕中央
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭
frame.setTitle("信号灯");//标题
frame.setVisible(true);
}

public Test() {
box = new JComboBox();
box.addItem("请选择");
box.addItem("红灯");
box.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
flag = box.getSelectedIndex();//判断点击的下拉框的第几个标签
jpNewPanel.repaint();
}
});
box.addItem("黄灯");
box.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
flag = box.getSelectedIndex();//判断点击的下拉框的第几个标签
jpNewPanel.repaint();
}
});
box.addItem("绿灯");
box.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
flag = box.getSelectedIndex();//判断点击的下拉框的第几个标签
jpNewPanel.repaint();
}
});
add(box, BorderLayout.NORTH);
jpNewPanel = new jpNewPanel();
add(jpNewPanel, BorderLayout.CENTER);
}
class jpNewPanel extends JPanel {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawOval(150, 100, 120, 120);//绘制圆形
if (flag == 1) {
g.setColor(Color.RED);
g.fillOval(150, 100, 120, 120);//填充颜色
} else if (flag == 2) {
g.setColor(Color.YELLOW);
g.fillOval(150, 100, 120, 120);
} else if (flag == 3) {
g.setColor(Color.GREEN);
g.fillOval(150, 100, 120, 120);
}
}
}
}运行结果:







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐