# ButtonGroup(): welche Radio Button wurde selektiert?



## xpucto (14. Mai 2005)

Hallo!

Bei einer Applikation habe ich auf einer Seite 10 Button Groups mit jeweil 4 Radio Buttons erzeugt. Wenn der User auf einem Button klickt, möche ich die Werte von jedem Button Group lesen können. Wie soll ich es tun? Ich möchte nicht jeden Radio Button prüfen, also nicht etwas wie:

```
if (RadioButton2.isSelected()) {
......
```
haben, sondern direckt den Wert beim ButtonGroup bekommen.

Danke.


----------



## Beni (14. Mai 2005)

Guck mal in der API nach :roll:. Du kannst bei deinen Buttons ein ActionCommand setzen, und über das selektierte ButtonModel abrufen.


----------



## mic_checker (14. Mai 2005)

Oder du guckst mal hier


----------



## bazz-dee (14. Mai 2005)

Du hast ne ButtonGroup bg zB
da ist nen RadioButton drin mit namen rb1 und rb2, da machst du vorher setActionCommand und setzt damit "rb1" und "rb2"

Dann sieht die Abfrage wie folgt aus:


```
ButtonModel bm = bg.getSelection();
if (bm.getActionCommand().equals("rb1")){
....
}
....
```


----------



## xpucto (16. Mai 2005)

Ein Vergleich mit RadioButtons selbt hilft mir nicht. Das Problem ist,  dass ich ein Vergleich mit einem int machen möchte. Es geht um Folgendes : es steht eine Frage und der User muss eine Antwort mittels ein RadioButtons geben. Es gibt 4 RadioButtons, also 4 mögliche Antworte. Die Auswahl sollte dann mit einer Zahl vergliechen : wenn die richtige Anworte ist das erste RadioButton, dann ist die Zahl "0". 
Wie könnte ich so was einsetzten?


----------



## mic_checker (16. Mai 2005)

Weiss nich wo dein Problem is, hab doch oben nen Link gepostet in dem steht wie es geht. 

Du weisst ja welcher RadioButton ausgewählt sein muss damit die Antwort stimmt ,also einfach vergleichen....


----------



## xpucto (16. Mai 2005)

Ja, aber die Funktion liefert ein RadioButton. Wie kann ich ein RadioButton mit einem int vergleichen?!


----------



## xpucto (16. Mai 2005)

Ich habe das Folgende probiert aber es funktionniert nicht.

```
public static int getAnswerRB(ButtonGroup bg) {
ButtonGroup group = bg;
int usersAnswer = 100;          //Eine große Zahl um sicher zu sein, dass es keine richtige Antwort
int i = 0;
        for (Enumeration e=group.getElements(); e.hasMoreElements(); ) {
            JRadioButton b = (JRadioButton)e.nextElement();
            if (b.getModel() == group.getSelection()) {
                 usersAnswer = i;
                }//End if
                i++;
        }//end for
return usersAnswer;
}//End getAnswerRB
```
 Ich kriege zwar keine Fehler Meldung aber das Programm bleibt stehen bei

```
for (Enumeration e=group.getElements(); e.hasMoreElements(); ) {
```
Vielleicht kann Jemand mir helfen. 
In ButtonGroup sind 4 RadioButtons zu finden. Ich versuche zu finden, welche RadioButtonsnummer gewählt wurde um später sie mit einer Zahl int zu vergleichen.


----------



## xpucto (16. Mai 2005)

Eigentlich arbeite ich nicht mit GruppenButton sondern mit GruppenButton[].
Wie kann man damit arbeiten?
Ist es möglich so was zu schreiben?


```
Enumeration e = bg[1].getElements();
```
Bei mir scheint es nicht zu funktionnieren.


----------

