java通过按钮控制面板颜色

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class ButtonTest {


public static void main(String[] args) {
ButtonFrame frame=new ButtonFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class ButtonFrame extends JFrame{
public static final int DEFAULT_WIDTH=800;
public static final int DEFAULT_HEIGHT=500;
public ButtonFrame(){
setTitle("Button Test");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
ButtonPanel panel=new ButtonPanel();
add(panel);
}
}
class ButtonPanel extends JPanel{
public ButtonPanel(){
JButton yellowButton=new JButton("yellow");//为按钮添加文本
JButton blueButton=new JButton("blue");
JButton redButton=new JButton("red");
add(yellowButton);//添加到面板
add(blueButton);
add(redButton);
//创建按钮动作
ColorAction yellowAction=new ColorAction(Color.YELLOW);//颜色
ColorAction blueAction=new ColorAction(Color.BLUE);
ColorAction redAction=new ColorAction(Color.RED);
//关联按钮与动作
yellowButton.addActionListener(yellowAction);
blueButton.addActionListener(blueAction);
redButton.addActionListener(redAction);
}


private class ColorAction implements ActionListener{
public ColorAction(Color c){
backgroundColor=c;
}
public void actionPerformed(ActionEvent event){
//ButtonPanel panel=new ButtonPanel();
setBackground(backgroundColor);
}
private Color backgroundColor;
}

你可能感兴趣的:(java通过按钮控制面板颜色)