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