Ja.
Üblicherweise werden Radio-Buttons einem Panel, das ihre Anordnung bestimmt, und einer Buttongruppe hinzugefügt, die kontrolliert, welcher Button der ausgewählte ist. Eine Buttongruppe ist ein Objekt und muss daher konstruiert werden. Radio-Buttons werden ihr dann hinzugefügt. Aber sie entspricht nicht direkt einer visuellen Ausgabe.
Lasst uns eine Applikation erzeugen, die das Idealgewicht einer Person (in Pfund) an Hand des Geschlechts und der Körpergröße (Zoll) berechnet. Die Formel für diese Berechnung findet Ihr bei den Programmieraufgaben. Für jetzt lasst uns die grafische Benutzeroberfläche betrachten. Der folgende Code zeigt wie eine Buttongruppe konstruiert wird und wie ihr Radio-Buttons hinzugefügt werden.
public class IdealWeight extends JFrame { . . . . public IdealWeight() { // konstruiert Radio-Buttons genderM = new JRadioButton("Male", true ); genderF = new JRadioButton("Female", false ); // konstruiert eine Buttongruppe und fügt ihr Buttons hinzu genderGroup = new ButtonGroup(); genderGroup.add( genderM ); genderGroup.add( genderF ); . . . . . } }
Radio-Buttons erzeugen Action-Events
und erfordern einen registrierten Action-Listener.
Das ist das Gleiche, wie bei den JButton
s.
setActionCommand()
,
um jedem Button einen Befehlsstring zu zuweisen.addActionListener()
,
um einen Listener für jeden Button zu registrieren,
gewöhnlich derselbe Listener für alle Buttons in einer Gruppe.getActionCommand()
im Action-Listener, um zu bestimmen
welcher Button gedrückt wurde.Unser Beispielprogramm überlässt das den Programmieraufgaben.
Wie viele Buttongruppen werden in dieser GUI verwendet? (Betrachtet die Abbildung.)