# JCheckBox deselektieren (Haken wieder entfernen) - wie?



## tobbbbi (14. Okt 2008)

Guten Abend,

ich möchte einfach eine JCheckBox, die in einer ButtonGroup ist, deselektieren. Das heißt nach dem Start des Programms ist sie ja automatisch deselektiert. Dann klicke ich einmal drauf - Haken gesetzt. Klicke ich wieder drauf, soll dann der Haken wieder verschwinden.
Wie stelle ich das an?

Ich habe es schon über einen Counter und der Methode setSelected(false) im ActionListener probiert, aber es wird einfach nicht deselektiert.

Geht es überhaupt oder ist das gesperrt?

Danke!


----------



## 0x7F800000 (15. Okt 2008)

ButtonGroups sind doch afair dafür da, dass man damit festlegt, dass genau ein checkbox oder radiobutton aus der gruppe ausgewählt werden kann. Wenn du auch die Situation zulassen willst, wo keine checkbox angekreuzt ist, muss du die doch einfach aus der button group rausnehmen, oder verstehe ich das ganz falsch? kann sein dass ich totalen müll erzähle, hab keine ahnung mehr, wozu die ganzen sachen da sind, lange her...


----------



## tobbbbi (15. Okt 2008)

Jap da hast du natürlich recht, aber rausnehmen ist nicht, da ich zum einen die beiden CheckBoxen gegenseitig ausschließen will, andererseits aber auch Deselektierbarkeit haben will.


----------



## Guest (15. Okt 2008)

JCheckBox.addMouseListener(new MouseListener()... mouseClicked() JCheckBox.setSelected (!JCheckBox.isSelected)

So in etwa sollte es gehen.

Gruß

DarkLoG


----------



## 0x7F800000 (15. Okt 2008)

Dann würde ich vorschlagen, die ButtonGroup rauszulassen, und die Buttons mit irgendwelchen Speziellen mitzählenden Listenern zu versehen.


----------



## tobbbbi (15. Okt 2008)

Anonymous hat gesagt.:
			
		

> JCheckBox.addMouseListener(new MouseListener()... mouseClicked() JCheckBox.setSelected (!JCheckBox.isSelected)
> 
> So in etwa sollte es gehen.
> 
> ...



Geht leider nicht:


```
private class ApprovedListener extends MouseAdapter implements MouseListener
	{
		public void mouseClicked(MouseEvent event_ref)
		{
		     approvedYesCheckBox.setSelected(!approvedYesCheckBox.isSelected);
		}
	}
```

Da nimmt er den Übergabeparameter in Zeile 5 nicht an - oder hast du das anders gedacht?


----------

