Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage |
<< | < | > | >> | API | Kapitel 32 - AWT-Dialogelemente |
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 |
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 |
Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0.1 |
<< | < | > | >> | API | © 1998-2003 Guido Krüger, http://www.javabuch.de |