ButtonGroup mit ActionListener verbinden

Angiii

Erfahrenes Mitglied
Hallo,

ich habe ein Panel mit 5 RadioButtons, welche durch eine ButtonGroup miteinander verbunden sind. Die RadioButtons einzeln im ActionListener einzubinden funktioniert ohne Probleme. Dazu verwendende ich folgenden Code:

Code:
public void actionPerformed(ActionEvent e) {

	if (e.getSource() == Panel.RadioButton1) {
		// tu irgendwas
	}
     
	else if (e.getSource() == Panel.RadioButton2) {
		// tu irgendwas
        }
       // ...
}

Meine Frage ist, ob es auch möglich ist, nur die ButtonGroup selbst einzubinden, damit das Ganze etwas kompakter wird. In der ButtonGroup kann ja immer nur ein RadioButton auf einmal ausgewählt werden. Daher müsste es doch möglich sein, dass der ActionListener über die Buttongroup erkennen kann, welcher RadioButton nun gedrückt wurde.

Bisher habe ich dazu diesen Ansatz verfolgt (leider reagiert das Ganze nicht):

Code:
public void actionPerformed(ActionEvent e) {
     if (e.getSource() == Panel.ButtonGroup) {
          	
                byte ButtonValue = Byte.parseByte(e.getActionCommand());
     		sendCommand( ButtonValue, (byte) 1 );
        }
}
Der ActionListener (soll) registrieren ob die Buttongroup angeklickt wird. über "e.getActionCommand()" will ich herausfinden, welcher RadioButton gemeint ist (jedem Buttom ist ein ActionCommand-String zugeordnet)...

Weiß jemand, wie man das elegant lösen könnte? Vielen Dank vorab!
 
Zuletzt bearbeitet:
Also ich hab zumindest schonmal herausgefunden, wieso der ActionListener nicht auf die ButtonGroup reagiert:.

Meine vorherige Deklaration "Panel.ButtonGroup.addActionListener(this);" bringt eine Fehlermeldung. Ist es u. U. etwa überhaupt nicht möglich eine ButtonGroup in den ActionListener zu pressen?
 
Zuletzt bearbeitet:
Jetzt hoffte ich das Problem würde sich über Weihnachten quasi "von selbst" lösen. Scheint leider nicht der Fall zu sein. Meine bisherige Lösung (alle Radio Buttons einzeln einbinden) nimmt halt soooo viel Platz weg. Weiß wirklcih niemand was?
 
Zurück