SWT: set radio buttons programmgesteuert
Wenn ich ein paar radio-buttons ( new Button(parent, SWT.RADIO)
), und setzen Sie die Auswahl programmgesteuert mithilfe radioButton5.setSelection(true)
den zuvor ausgewählten radio-button auch ausgewählt bleibt. Muss ich zu iterieren über alle anderen radiobuttons der gleichen Gruppe, um die Auswahl aufzuheben, oder ist es eine einfachere alternative? Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider haben Sie zur Iteration über alle Optionen. Für die erste Zeit, wenn Ihr UI kommt dann ein
BN_CLICKED
- Ereignis ausgelöst wird. Wenn IhrShell
oderGroup
oder was auch immer container von Optionsschaltflächen ist nicht mit erstelltSWT.NO_RADIO_GROUP
option, dann ist die folgende Methode wird aufgerufen:Also im wesentlichen von eclipse selbst, hängt von der Iteration über alle radio-buttons und wechseln Ihren Zustand.
Jedes mal, wenn Sie manuell wählen Sie eine Optionsschaltfläche, die
BN_CLICKED
- Ereignis ausgelöst wird und damit die automatische Umschaltung.Wenn Sie
button.setSelection(boolean)
dann keineBN_CLICKED
- Ereignis ausgelöst wird. Daher keine automatische Umschaltung von radio-buttons.Überprüfen Sie die
org.eclipse.swt.widgets.Button
Klasse für mehr details.Den radio-buttons in der gleichen composite-würde fungieren als eine Gruppe. Nur ein radio-button wird auf einmal ausgewählt werden. Hier ist ein funktionierendes Beispiel:
Sollte dies automatisch geschehen. Wie sind Sie mit dem erstellen der buttons? Sind Sie auf der gleichen Eltern? Ist der Elternteil mit NO_RADIO_GROUP Stil?
NO_RADIO_GROUP
noch Sie das Verhalten in der Frage genannten. Das Verhalten ist zumindest unter Windows Vista mit eclipse 3.6. Wenn seine arbeiten auf anderen OS oder eclipse-Versionen dann seine SWT-Bug.