Titel   Inhalt   Suchen   Index   API  Go To Java 2, Zweite Auflage, Handbuch der Java-Programmierung
 <<    <     >    >>  Kapitel 32 - AWT-Dialogelemente

32.4 Checkbox



Eine Checkbox ist ein Eingabeelement, das eine Zustandsvariable besitzt, die zwischen den Werten true und false umgeschaltet werden kann. Der aktuelle Zustand wird durch ein Häkchen oder Kreuz in der Checkbox angezeigt.

public Checkbox()

public Checkbox(String label)

public Checkbox(String label, boolean state)

public Checkbox(String label, CheckboxGroup cbg, boolean state)

public Checkbox(String label, boolean state, CheckboxGroup cbg)
java.awt.Checkbox

Der parameterlose Konstruktor erzeugt eine Checkbox ohne Beschriftung mit dem Anfangszustand false. Wird der String label angegeben, bekommt die Checkbox die angegebene Beschriftung. Durch Übergabe des booleschen Parameters state ist es möglich, den anfänglichen Zustand der Checkbox vorzugeben. Der in den letzten beiden Konstruktoren verwendete Parameter cbg dient zur Gruppierung von Radiobuttons und sollte bei einer Checkbox stets null sein.

public String getLabel()

public void setLabel(String label)

public boolean getState()

public void setState(boolean state)
java.awt.Checkbox

Die Methoden ermöglichen den Zugriff auf die Beschriftung und den aktuellen Zustand der Checkbox.

Oft repräsentiert eine Checkbox einen logischen Schalter, dessen Zustand abgefragt wird, nachdem der Dialog beendet wurde. Zusätzlich kann aber auch unmittelbar auf eine Zustandsänderung reagiert werden, denn eine Checkbox generiert ein Item-Event, wenn die Markierung vom Anwender gesetzt oder zurückgenommen wird. Um auf dieses Event zu reagieren, ist durch Aufruf von addItemListener ein Objekt, das das Interface ItemListener implementiert, bei der Checkbox zu registrieren:

public void addItemListener(ItemListener l)
java.awt.Checkbox

Ein Item-Event wird immer dann gesendet, wenn sich der Zustand einer Checkbox verändert hat. In diesem Fall wird im Ereignisempfänger die Methode itemStateChanged mit einem Argument vom Typ ItemEvent aufgerufen:

public abstract void itemStateChanged(ItemEvent e)
java.awt.event.ItemListener

Das ItemEvent stellt die Methode getItemSelectable zur Verfügung, mit der ermittelt werden kann, durch welche Checkbox das Ereignis ausgelöst wurde:

public ItemSelectable getItemSelectable()
java.awt.event.ItemEvent

Der Rückgabewert kann dann in ein Objekt des Typs Checkbox konvertiert werden. Durch Aufruf von getState kann der aktuelle Zustand bestimmt werden.

001 /* Checkbox1.inc */
002 
003 private void customizeLayout(Panel panel)
004 {
005   panel.setLayout(new GridLayout(3,1));
006   Checkbox cb = new Checkbox("Checkbox 1");
007   cb.addItemListener(this);
008   panel.add(cb);
009   cb = new Checkbox("Checkbox 2", true);
010   cb.addItemListener(this);
011   panel.add(cb);
012   cb = new Checkbox("Checkbox 3", false);
013   cb.addItemListener(this);
014   panel.add(cb);
015 }
Checkbox1.inc
Listing 32.3: Verwendung von Checkbox-Komponenten

Abbildung 32.4: Ein Dialog mit Checkbox-Komponenten

Das folgende Listing zeigt eine beispielhafte Implementierung der Methode itemStateChanged, die in der Klasse MyDialog beim Auftreten eines Item-Events aufgerufen wird (zusätzlich muß MyDialog das Interface ItemListener implementieren):

001 /* Checkbox2.inc */
002 
003 public void itemStateChanged(ItemEvent event)
004 {
005   Checkbox cb = (Checkbox) event.getItemSelectable();
006   System.out.println(cb.getLabel() + ": " + cb.getState());
007 }
Checkbox2.inc
Listing 32.4: Behandlung von Item-Events


 Titel   Inhalt   Suchen   Index   API  Go To Java 2, Zweite Auflage, Addison Wesley, Version 2.0
 <<    <     >    >>  © 2000 Guido Krüger, http://www.gkrueger.com