# JCheckBox mit ActionListener



## paul3 (26. Sep 2007)

Guten Abend !


Ich hatte mir ausgedacht, dass der Schriftzug in einem JPanel geändert werden soll, wenn ein Häckchen aus einer JCheckBox entfernt wird.

Ich habe mit 
	
	
	
	





```
checkbox.addActionListener(this)
```
 der CheckBox einen ActionListener zugefügt.

In der Funktion 
	
	
	
	





```
public void actionPerformed (ActionEvent ae)
```
 hab ich dann mit

```
if (ae.getSource() == checkbox) {...}
```
 versucht da Rausnehmen des Häckchen abzufangen.

Mit anderen Swing Elementen klappt mein ActionListener, mit einer CheckBox aber nicht.

Auch wenn ich in der actionPerformed() Funktion stattdessen schreibe:


```
if (a1Panel0CheckBox[i].isSelected()==false) {...}
```
 klappts nicht...

Hat jemand eine Idee, wie man sowas hinbekommen könnte ?


----------



## SlaterB (26. Sep 2007)

```
public class TestGUI extends JFrame implements ActionListener {

	public TestGUI() {
		JCheckBox c = new JCheckBox("Test");
		c.addActionListener(this);
		getContentPane().add(c);
		setSize(400, 400);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}

	public void actionPerformed(ActionEvent e) {
		System.out.println("geht, " + ((JCheckBox) e.getSource()).isSelected());
	}

	public static void main(String[] args) {
		new TestGUI();
	}
}
```
funktioniert hervorragend,

was du in deinem Programm an individuellen Fehlern eingebaut hast ist aus dem bisher geposteten Code nicht ersichtlich,
interessant ist z.B. ob die in die GUI eingefügte Komponente wirklich der gespeicherten Exemplarvariablen entspricht


----------



## paul3 (26. Sep 2007)

mein Fehler.....

falsche Checkbox..... Mein Gott, vielleicht sollte ich früher ins Bett gehn 


Vielen Dank aber für deine Hilfe !!

Achso, weil ich ganz viele CheckBoxes habe und ETWAS ausgelöst werden soll, wann immer eine checkbox deselected wird (egal welche der vielen), reicht es für mich zu wissen, ob das ActionEvent überhaupt von einer CheckBox ausglöst wurde.

Kann man sowas mit ner if-Abfrage rauskriegen ?


----------



## SlaterB (26. Sep 2007)

if (JCheckBox.class.isInstance(e.getSource())) {
}


----------

