RadioButtonGroup
Die RadioButtonGroup verwaltet eine Sammlung von RadioButton Komponenten. Es kann nur ein RadioButton in einer RadioButtonGroup ausgewählt werden. Wenn ein Benutzer einen neuen Radiobutton auswählt, wird der zuvor ausgewählte automatisch abgewählt.
Erstellung einer RadioButtonGroup
RadioButtonGroup RenderingDie RadioButtonGroup Komponente rendert kein HTML-Element. Sie bietet nur die Logik, um RadioButton Komponenten als Gruppe und nicht einzeln zu behandeln.
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().
RadioButtonDie 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 direkt jeden einzelnen RadioButton 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, wenn ein Benutzer ihn umschaltet. Ein Vorteil der Verwendung einer RadioButtonGroup ist jedoch, dass Sie einen einzelnen Ereignislistener verwenden können, der auf alle Radiobuttons in der Gruppe mit dem RadioButtonGroupChangeEvent reagiert.
Hinzufügen von Ereignis-Listener zu jedem RadioButton
agree.onValueChange(e -> changeEvent());
neutral.onValueChange(e -> changeEvent());
disagree.onValueChange(e -> changeEvent());
Hinzufügen eines einzelnen Ereignis-Listeners zur RadioButtonGroup
RadioButtonGroup group = new RadioButtonGroup("choices", agree, neutral, disagree);
group.onChange(e -> changeEvent());
Das folgende Beispiel von Drawer Placement verwendet das RadioButtonGroupChangeEvent, um automatisch die Platzierung der Drawer Komponente zu ändern:
Code anzeigen
- DrawerPlacementView.java
Benennung
Das name Attribut in einer RadioButtonGroup gruppiert verwandte RadioButtons, sodass Benutzer eine einzelne Wahl aus den bereitgestellten Optionen treffen können, und erzwingt die Exklusivität unter den RadioButtons. Der Name einer Gruppe wird jedoch nicht im DOM angezeigt und stellt ein praktisches Hilfsmittel für den Java-Entwickler dar.