SWT: Radiobuttons abwählen

KlaDi

Erfahrenes Mitglied
Hallo,

ich habe eine RCP-Anwendung. Auf meiner GUI sind unterschiedliche SWT-Radiobuttons. Mein Problem ist nun, wenn man auf einen Radiobutton klickt, gibt es keine Möglichkeit mehr dieses Rückgängig zu machen. Wie kann ich den aktivierten Radiobutton wieder abwählen, so das keine Möglichkeit ausgewählt ist?

gruß Klaus.
 
Willst du das per Code machen? Dann sollte es über SetSelected gehen (true oder false übergeben). Ansonsten soll es so sein, das man eins angewählt hat. Du kannst ja noch nen RadioButton reinbringen. der für "keine Funktion" oder sowas steht.
Grüsse.
 
Hallo lord_kleener,

ich möchte das der User die Möglichkeit hat den Radiobutton abzuwählen. Aber ich möchte nicht das es einen Radiobutton in jeder Gruppe gibt, der keine Funktion hat.

Ich denke es muss doch eine Möglichkeit geben, dem User zu ermöglichen seine getroffene Entscheidung zurückzunehmen.

gruß Klaus.
 
Naja diese Möglichkeit gibt es glaube ich nicht. Denn bei Radionbuttons sollte auch immer einer von vornhereinselektiert sein, bevor das Tool startet (siehe Eigenschaften eines Betriebsystems z.B. Windows Systemsteuerung). Radionbuttons sind eine Auswahl. Es muss aber immer eine markiert sein. Wenn du die Wahl haben möchtest zwischen tun oder nicht tun nimmst du eine Checkbox. Einen markierten Radionbutton zu deaktivieren innerhalb einer Gruppe, geht nicht, zumindest laut meinem Wissenstand und auch nach meinem Verständnis für Radiobuttons ;-). Trotzdem noch viel Erfolg.
Gruss.
 
Hallo lord_kleener,

danke für Deine Hilfe. Ich habe im Endeffekt genau den gleichen Wissensstand. Daher ja meine Frage. Das Problem ist halt das mein Auftraggeber es gerne möchte das ein Radiobutton auch wieder abgewählt werden kann. Da in meinem Programm sehr viel über Radiobuttons gemacht wird, wäre es ein ziemlicher Aufwand entweder immer einen mehr zumachen, für keine Auswahl oder das ganze auf Checkboxen umzustellen.

Das ist leider das Problem, wenn es kein vernünftiges Lasten- und Pflichtenheft zu einem Projekt gibt.

gruß klaus.
 
Hi,
ich noch mal. Wenn das so ist, könntest du das evtl. über einen Doppelklick oder Rechtsklick machen (Rechtsklick wär einfacher). Wenn halt mit Rechts auf den Button geklickt wurde, deaktivieren (setSelected (false) sozusagen). Was besseres fällt mir da auch nicht ein. Sorry.
 
Hallo,

also ich habs nun so gelöst, das beim Klick auf den Radiobutton geprüft wird, ob dieser schon aktiviert ist, wenn das der Fall ist, dann wird er deaktiviert. Bei der Ausführung wirkt sich das wie ein Doppelklick aus.

Hier mal mein Code:
Code:
radiobtn[0].addMouseListener(new MouseListener () {
	public void mouseDoubleClick(MouseEvent e) {
		// TODO Auto-generated method stub			
	}

	public void mouseDown(MouseEvent e) {
		if(radiobtn[0].getSelection() == true) {
			radiobtn[0].setSelection(false);
		}
	}

	public void mouseUp(MouseEvent e) {
		// TODO Auto-generated method stub
				
	}
});

gruß klaus.
 
Zurück