实训要求:java
代码:学习
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.Graphics; public class MainClass extends JFrame { public JComboBox box; int flag = 0; jpNewPanel jpNewPanel; public static void main(String[] args) { MainClass frame = new MainClass(); frame.setBounds(650,300,550,550); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("信号灯"); frame.setVisible(true); } public MainClass() { 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, 0, 120, 120); if (flag == 1) { g.setColor(Color.RED); g.fillOval(150, 0, 120, 120); } else if (flag == 2) { g.setColor(Color.YELLOW); g.fillOval(150, 0, 120, 120); } else if (flag == 3) { g.setColor(Color.GREEN); g.fillOval(150, 0, 120, 120); } } } }
运行结果:code
小结:学习了如何添加画布。orm