RadioButtonGroup
RadioButtonGroup hallitsee kokoelman RadioButton -komponentteja. Vain yksi RadioButton voi olla valittuna RadioButtonGroup -ryhmässä. Kun käyttäjä valitsee uuden radiopainikkeen, aiemmin valittu painike ryhmässä poistuu automaattisesti valinnasta.
RadioButtonGroup luominen
RadioButtonGroup renderointiRadioButtonGroup -komponentti ei renderöi HTML-elementtiä. Se tarjoaa vain logiikan, jotta RadioButton -komponentit käyttäytyvät ryhmänä sen sijaan, että ne toimisivat yksilöinä.
Luo erilliset RadioButton -komponentit ja siirrä ne RadioButtonGroup -rakentajaan. Vain yksi painike ryhmässä voi olla valittuna kerrallaan.
Näytä koodi
- RadioButtonGroupView.java
RadioButton -komponenttien lisääminen ja poistaminen
Voit sisällyttää RadioButton -komponentteja RadioButtonGroup -rakentajaan luodaksesi ryhmän annetuista komponenteista.
Voit lisätä tai poistaa RadioButton -painikkeen olemassa olevasta RadioButtonGroup -ryhmästä käyttämällä add() tai remove() -menetelmiä.
RadioButton ryhmän saaminenRadioButton -komponentilla on getButtonGroup() -menetelmä, joka palauttaa sille kuuluvan RadioButtonGroup -ryhmän, tai null, jos sillä ei ole ryhmää.
Sisäkkäinen 25.11
Kuten muutkin komponentit, voit sisällyttää RadioButtonGroup -ryhmän säiliöön, jotta et tarvitse lisätä jokaista yksittäistä RadioButton -painiketta suoraan.
RadioButton agree = new RadioButton("Samaa mieltä");
RadioButton neutral = new RadioButton("Neutraali");
RadioButton disagree = new RadioButton("Eri mieltä");
RadioButtonGroup group = new RadioButtonGroup("valinnat", agree, neutral, disagree);
Fieldset fieldset = new Fieldset("Vaihtoehdot");
fieldset.add(group);
RadioButtonGroupChangeEvent käyttäminen
Jokaisella RadioButton -painikkeella voi olla oma tapahtumakuuntelija, joka havaitsee, kun käyttäjä vaihtaa sitä. Yksi RadioButtonGroup -ryhmän etu on kuitenkin se, että voit käyttää yhtä tapahtumakuuntelijaa, joka reagoi kaikkiin ryhmän radiopainikkeisiin RadioButtonGroupChangeEvent -tapahtuman avulla.
Tapahtumakuuntelijoiden lisääminen jokaiselle RadioButton -painikkeelle
agree.onValueChange(e -> changeEvent());
neutral.onValueChange(e -> changeEvent());
disagree.onValueChange(e -> changeEvent());
Yhden tapahtumakuuntelijan lisääminen RadioButtonGroup -ryhmälle
RadioButtonGroup group = new RadioButtonGroup("valinnat", agree, neutral, disagree);
group.onChange(e -> changeEvent());
Seuraava esimerkki Lokeron sijoittelusta käyttää RadioButtonGroupChangeEvent -tapahtumaa muuttaakseen automaattisesti Drawer -komponentin sijoittelua:
Näytä koodi
- DrawerPlacementView.java
Nimeäminen
name -attribuutti RadioButtonGroup -ryhmässä ryhmittelee liittyvät radiopainikkeet yhteen, mikä mahdollistaa käyttäjien tekemän vain yhden valinnan annetusta vaihtoehdosta ja pakottaa ekskluusiivisuuden radiopainikkeiden kesken. Ryhmän nimi ei heijastu DOM:iin, vaan se on kätevä työkalu Java-kehittäjälle.