Witam, chciałem napisać programy zmieniający tło ramki z JRadioButton'ami. Niestety każdy button zmienia tło na niebieski.
public class Ramka extends JFrame{
private JRadioButton b1;
private JRadioButton b2;
private JRadioButton b3;
private JPanel buttonPanel;
private ButtonGroup group;
private Color backgroundColor;
public Ramka(){
buttonPanel = new JPanel();
buttonPanel.setBackground(Color.white);
b1 = new JRadioButton("Czerwony", false);
b2 = new JRadioButton("Szary", true);
b3 = new JRadioButton("Niebieski",false);
buttonPanel.add(b1);
buttonPanel.add(b2);
buttonPanel.add(b3);
group = new ButtonGroup();
group.add(b1);
group.add(b2);
group.add(b3);
//buttonPanel.add(group);
b1.addItemListener(new ColorAction(Color.red));
b2.addItemListener(new ColorAction(Color.gray));
b3.addItemListener(new ColorAction(Color.blue));
add(buttonPanel);
}
public class ColorAction implements ItemListener{
public ColorAction(Color color){
backgroundColor = color;
}
public void itemStateChanged(ItemEvent event){
buttonPanel.setBackground(backgroundColor);
}
}
Proszę o pomoc.