文档详情

java红绿灯.doc

发布:2017-08-17约3.01万字共3页下载文档
文本预览下载声明
import java.awt.*; import java.awt.event.*; import javax.swing.*; //画圆的类,由JPanel派生 class PaintovalPane extends JPanel { Color color; PaintovalPane(Color colorOfPanel) {color=colorOfPanel;} public void paintComponent(Graphics g) { super.paintComponent(g);//调用父类构造方法 g.setColor(color);//设置圆形面板的颜色 g.fillOval(50, 10, 30, 30);//以30为半径作圆形面板 } } public class Ex4_2 extends JApplet { public void init() { //定义三个单选按钮 JRadioButton Red=new JRadioButton(Red); JRadioButton Yellow=new JRadioButton(yellow); JRadioButton Green=new JRadioButton(Green); //定义三个圆形面板,并初始化颜色为白色 final PaintovalPane oval1=new PaintovalPane(Color.white); final PaintovalPane oval2=new PaintovalPane(Color.white); final PaintovalPane oval3=new PaintovalPane(Color.white); //定义三个标签 JLabel messagePanel1=new JLabel(Red); JLabel messagePanel2=new JLabel(Yellow); JLabel messagePanel3=new JLabel(Green); JPanel ovalgroup=new JPanel(); //定义一个面板ovalgroup,并设置其布局为3*2,添加三个圆形面板组件与三个标签组件 ovalgroup.setLayout(new GridLayout(3,2)); ovalgroup.add(oval1); ovalgroup.add(messagePanel1); ovalgroup.add(oval2); ovalgroup.add(messagePanel2); ovalgroup.add(oval3); ovalgroup.add(messagePanel3); //定义一个面板buttonPanel,布局为1*3,添加三个单选按钮组件 JPanel buttonPanel=new JPanel(); buttonPanel.setLayout(new GridLayout(1,3)); buttonPanel.add(Red); buttonPanel.add(Yellow); buttonPanel.add(Green); //将三个单选按钮添加到按钮组group中,实现三个按钮互斥 ButtonGroup group=new ButtonGroup(); group.add(Green); group.add(Red); group.add(Yellow); //设置框架的布局2*1,并添加上述两个面板 setLayout(new GridLayout(2,1)); add(ovalgroup); add(buttonPanel); //为三个圆形面板添加Action监听器 Red.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { oval1.color=Color.RED; oval2.color=Color.white; oval3.color=Color.white; repaint(); } }); Yellow.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { oval2.color=Color.yell
显示全部
相似文档