RadioButtonGroup
De RadioButtonGroup beheert een verzameling van RadioButton componenten. Slechts één RadioButton kan geselecteerd worden in een RadioButtonGroup. Wanneer een gebruiker een nieuwe radio button aanvinkt, wordt de eerder geselecteerde automatisch uitgevinkt.
Het creëren van een RadioButtonGroup
RadioButtonGroup renderingDe RadioButtonGroup component rendert geen HTML-element. Het biedt alleen logica om RadioButton componenten als een groep te laten functioneren in plaats van individueel.
Maak individuele RadioButton componenten en geef deze door aan de constructor van de RadioButtonGroup. Slechts één knop in de groep kan tegelijkertijd geselecteerd zijn.
Toon Code
- RadioButtonGroupView.java
Toevoegen en verwijderen van RadioButton componenten
Je kunt RadioButton componenten opnemen in de constructor van de RadioButtonGroup om een groep te creëren uit de gegeven componenten.
Om een RadioButton toe te voegen of te verwijderen uit een bestaande RadioButtonGroup, gebruik je de add() of remove() methoden.
RadioButtonDe RadioButton component heeft de getButtonGroup() methode, die de RadioButtonGroup retourneert waar deze toe behoort, of null als deze geen groep heeft.
Nesting 25.11
Net als andere componenten, kun je een RadioButtonGroup binnen een container nesten, zodat je niet elke individuele RadioButton direct hoeft toe te voegen.
RadioButton agree = new RadioButton("Akkoord");
RadioButton neutral = new RadioButton("Neutraal");
RadioButton disagree = new RadioButton("Oneens");
RadioButtonGroup group = new RadioButtonGroup("keuzes", agree, neutral, disagree);
Fieldset fieldset = new Fieldset("Opties");
fieldset.add(group);
Gebruik van RadioButtonGroupChangeEvent
Elke RadioButton kan zijn eigen evenementluisteraar hebben om te detecteren wanneer een gebruiker deze in- of uitschakelt. Een voordeel van het gebruik van een RadioButtonGroup is dat je een enkele evenementluisteraar kunt gebruiken die reageert op alle radio buttons in de groep met de RadioButtonGroupChangeEvent.
Evenementluisteraars toevoegen aan elke RadioButton
agree.onValueChange(e -> changeEvent());
neutral.onValueChange(e -> changeEvent());
disagree.onValueChange(e -> changeEvent());
Een enkele evenementluisteraar toevoegen aan de RadioButtonGroup
RadioButtonGroup group = new RadioButtonGroup("keuzes", agree, neutral, disagree);
group.onChange(e -> changeEvent());
De volgende voorbeeld van Drawer Placement gebruikt de RadioButtonGroupChangeEvent om automatisch de plaatsing van de Drawer component te veranderen:
Toon Code
- DrawerPlacementView.java
Naamgeving
De name attribuut in een RadioButtonGroup groepeert gerelateerde RadioButtons samen, waardoor gebruikers een enkele keuze kunnen maken uit de aangeboden opties en exclusiviteit afdwingen onder de RadioButtons. De naam van een groep wordt echter niet gereflecteerd in de DOM en is een handige hulpbron voor de Java-ontwikkelaar.