JFrame boutons qui changent de couleur d'arrière-plan de la fenêtre

Je suis en train de faire un programme avec des boutons, que lorsque vous cliquez sur eux, changer la couleur d'arrière-plan de l'image

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ColorFrame {
public static void main(String[] args){
JFrame frame = new JFrame();
JPanel panel = new JPanel();
frame.setSize(300, 200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JButton redButton = new JButton ("Red");
final JButton greenButton = new JButton ("Green");
final JButton blueButton = new JButton ("Blue");
class Listener extends JPanel implements ActionListener{
public void actionPerformed(ActionEvent event) {
Color color;
if (event.getSource() == redButton){
color = Color.red;                  
} else if (event.getSource() == greenButton){
color = Color.green;
} else {
color = Color.blue;
}
setBackground(color);
System.out.println(color);
repaint();
}           
}
redButton.addActionListener(new Listener());
greenButton.addActionListener(new Listener());
blueButton.addActionListener(new Listener());
panel.add(new JButton ("Red")); 
panel.add(new JButton ("Green"));
panel.add(new JButton ("Blue"));
frame.add(panel);       
}
}

Pourtant, quand je clique sur les boutons, rien ne semble se produire, et je pense qu'il pourrait avoir quelque chose à voir avec les auditeurs de ne pas être activé pour des raisons

InformationsquelleAutor manis | 2014-01-06