Overslaan naar hoofdinhoud

RadioButtonGroup

Openen in ChatGPT
23.01
Java API

De RadioButtonGroup beheert een verzameling van RadioButton componenten. Slechts één RadioButton kan geselecteerd zijn in een RadioButtonGroup. Wanneer een gebruiker een nieuwe radio-knop aanvinkt, wordt de eerder geselecteerde automatisch uitgevinkt.

Een RadioButtonGroup maken

RadioButtonGroup rendering

De RadioButtonGroup component genereert geen HTML-element. Het biedt alleen de logica om RadioButton componenten te laten functioneren als een groep in plaats van individueel.

Maak individuele RadioButton componenten en geef deze door aan de RadioButtonGroup constructor. Slechts één knop in de groep kan op een bepaald moment geselecteerd zijn.

Toon Code

RadioButton componenten toevoegen en verwijderen

Je kunt RadioButton componenten opnemen in de RadioButtonGroup constructor om een groep te creëren uit de aangeboden componenten. Om een RadioButton toe te voegen of te verwijderen uit een bestaande RadioButtonGroup, gebruik je de add() of remove() methoden.

Verkrijgen van de Groep van een RadioButton

De RadioButton component heeft de getButtonGroup() methode, die de RadioButtonGroup retourneert waartoe deze behoort, of null als het geen groep heeft.

Nestelen 25.11

Net als andere componenten, kun je een RadioButtonGroup binnen een container nestelen, 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 gebeurtenisluisteraar hebben om te detecteren wanneer een gebruiker deze toggled. Een voordeel van het gebruik van een RadioButtonGroup is echter dat je een enkele gebeurtenisluisteraar kunt gebruiken die reageert op alle radio-knoppen in de groep met de RadioButtonGroupChangeEvent.

Gebeurtenisluisteraars toevoegen aan elke RadioButton

agree.onValueChange(e -> changeEvent());
neutral.onValueChange(e -> changeEvent());
disagree.onValueChange(e -> changeEvent());

Een enkele gebeurtenisluisteraar toevoegen aan de RadioButtonGroup

RadioButtonGroup group = new RadioButtonGroup("keuzes", agree, neutral, disagree);
group.onChange(e -> changeEvent());

Het volgende voorbeeld van Drawer Plaatsing gebruikt de RadioButtonGroupChangeEvent om automatisch de plaatsing van de Drawer component te veranderen:

Toon Code

Naamgeving

De name attribuut in een RadioButtonGroup groepeert gerelateerde RadioButtons samen, waardoor gebruikers een enkele keuze kunnen maken uit de geboden opties en exclusiviteit tussen de RadioButtons afdwingen. De naam van een groep wordt echter niet weerspiegeld in de DOM en is een handige utiliteit voor de Java-ontwikkelaar.