JRadioButton i ItemListener

0

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.

0

Zmienna "backgroundColor" powinna znajdować się w klasie ColorAction a nie Ramka...

0

Ano racja, dzieki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0