java-swingButton

 1 package com.http;
 2 
 3 import java.awt.*;
 4 import java.awt.event.*;
 5 
 6 import javax.swing.*;
 7 
 8 import com.http.TestSwing2.HelloWorldFrame;
 9 
10 public class SwingButton extends JFrame
11 {
12     private JPanel buttonPanel;
13     private static final int DEFAULT_WIDTH = 300;
14     private static final int DEFAULT_HEIGHT = 200;
15     
16     public SwingButton()
17     {
18         setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
19         //创建按钮
20         JButton yellowButton = new JButton("yellow");
21         JButton blueButton = new JButton("blue");
22         JButton redButton = new JButton("red");
23         
24         buttonPanel = new JPanel();
25         
26         //向面板中添加按钮
27         buttonPanel.add(yellowButton);
28         buttonPanel.add(blueButton);
29         buttonPanel.add(redButton);
30         
31         //向frame中添加面板
32         add(buttonPanel);
33         
34         //实例化事件
35         ColorAction ya = new ColorAction(Color.YELLOW);
36         ColorAction ba = new ColorAction(Color.BLUE);
37         ColorAction ra = new ColorAction(Color.RED);
38         
39         //添加按钮事件,改变面板的颜色
40         yellowButton.addActionListener(ya);
41         blueButton.addActionListener(ba);
42         redButton.addActionListener(ra);
43         
44     }
45     
46     //触发后执行的事件,继承ActionListener,并重写actionPerformed接口
47     public class ColorAction implements ActionListener
48     {
49 
50         private Color backgroundColor;
51         public  ColorAction(Color c)
52         {
53              backgroundColor = c;
54         }
55         
56         @Override
57         public void actionPerformed(ActionEvent event) {
58             // TODO Auto-generated method stub
59             buttonPanel.setBackground(backgroundColor);
60         }    
61     }
62 
63     public static void main(String[] argvs)
64     {
65         EventQueue.invokeLater(new Runnable()
66         {
67             public void run()
68             {
69                 
70                 JFrame frame = new SwingButton();
71                 frame.setTitle("SwingButton");
72                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
73                 frame.setVisible(true);
74             }
75         });
76         
77     }
78     
79 }
原文地址:https://www.cnblogs.com/Pierre-de-Ronsard/p/3988516.html