RadioButtonGroup
Die RadioButtonGroup verwaltet eine Sammlung von RadioButton Komponenten. Nur ein RadioButton kann in einer RadioButtonGroup ausgewählt werden. Wenn ein Benutzer einen neuen Radio-Button auswählt, wird der zuvor ausgewählte im Gruppe automatisch abgewählt.
Erstellung einer RadioButtonGroup
RadioButtonGroupDie RadioButtonGroup-Komponente rendert kein HTML-Element. Sie bietet nur die Logik, damit RadioButton-Komponenten als Gruppe und nicht einzeln agieren.
Erstellen Sie einzelne RadioButton-Komponenten und übergeben Sie diese dem Konstruktor der RadioButtonGroup. Nur ein Button in der Gruppe kann zu einem Zeitpunkt ausgewählt sein.
Code anzeigen
- RadioButtonGroupView.java
Hinzufügen und Entfernen von RadioButton-Komponenten
Sie können RadioButton-Komponenten im Konstruktor der RadioButtonGroup einfügen, um eine Gruppe aus den bereitgestellten Komponenten zu erstellen. Um einen RadioButton aus einer bestehenden RadioButtonGroup hinzuzufügen oder zu entfernen, verwenden Sie die Methoden add() oder remove().
RadioButton abrufenDie RadioButton-Komponente hat die Methode getButtonGroup(), die die RadioButtonGroup zurückgibt, zu der sie gehört, oder null, wenn sie keine Gruppe hat.
Verschachtelung 25.11
Wie andere Komponenten können Sie eine RadioButtonGroup innerhalb eines Containers verschachteln, sodass Sie nicht jeden einzelnen RadioButton direkt hinzufügen müssen.
RadioButton agree = new RadioButton("Zustimmen");
RadioButton neutral = new RadioButton("Neutral");
RadioButton disagree = new RadioButton("Ablehnen");
RadioButtonGroup group = new RadioButtonGroup("choices", agree, neutral, disagree);
Fieldset fieldset = new Fieldset("Optionen");
fieldset.add(group);
Verwendung von RadioButtonGroupChangeEvent
Jeder RadioButton kann seinen eigenen Ereignislistener haben, um zu erkennen, wann ein Benutzer ihn umschaltet. Ein Vorteil der Verwendung einer RadioButtonGroup besteht jedoch darin, dass Sie einen einzelnen Ereignislistener verwenden können, der auf alle Radio-Buttons in der Gruppe mit dem RadioButtonGroupChangeEvent reagiert.
Ereignislistener zu jedem RadioButton hinzufügen
agree.onValueChange(e -> changeEvent());
neutral.onValueChange(e -> changeEvent());
disagree.onValueChange(e -> changeEvent());
Einen einzelnen Ereignislistener zur RadioButtonGroup hinzufügen
RadioButtonGroup group = new RadioButtonGroup("choices", agree, neutral, disagree);
group.onChange(e -> changeEvent());
Das folgende Beispiel aus Drawer Placement verwendet das RadioButtonGroupChangeEvent, um automatisch die Platzierung der Drawer-Komponente zu ändern:
Code anzeigen
- DrawerPlacementView.java
Benennung
Das Attribut name in einer RadioButtonGroup gruppiert verwandte Radio-Buttons zusammen, wodurch es Benutzern ermöglicht wird, eine einzige Wahl aus den bereitgestellten Optionen zu treffen und die Exklusivität unter den Radio-Buttons durchzusetzen. Der Name einer Gruppe wird jedoch nicht im DOM widergespiegelt und dient als praktische Hilfestellung für den Java-Entwickler.