From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/html/k100211.html | 224 +++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100211.html (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100211.html') diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100211.html b/Master/Reference Architectures and Patterns/hjp5/html/k100211.html new file mode 100644 index 0000000..32d92e4 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100211.html @@ -0,0 +1,224 @@ + + + +Handbuch der Java-Programmierung, 5. Auflage + + + + + + + + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage +
 <<  +  <   +  >   + >>  + API  +Kapitel 32 - AWT-Dialogelemente +
+
+ + + + +

32.5 CheckboxGroup

+
+ +
+ +

+Eine CheckboxGroup +ist die Java-Variante einer Gruppe von Radiobuttons, +also einer Kollektion von Buttons, von denen immer genau einer aktiviert +ist. Wird ein anderer Button aktiviert, so ändert er seinen internen +Status auf true, +und der zuvor gesetzte wird false. + +

+Eine CheckboxGroup +ist nichts anderes als eine Checkbox, +deren CheckboxGroup-Parameter +gesetzt ist. +

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

+Anders als bei einer gewöhnlichen Checkbox +stehen jetzt nur noch zwei Konstruktoren zur Verfügung. An diese +werden die Beschriftung, der Anfangszustand und ein Objekt der Klasse +CheckboxGroup +übergeben. + +

+Die CheckboxGroup +sorgt dabei für den Gruppierungseffekt und die Logik beim Umschalten +der Radiobuttons. Für jede zusammenhängende Gruppe von Radiobuttons +ist daher ein eigenes Objekt der Klasse CheckboxGroup +zu instanzieren und an den Konstruktor zu übergeben. + +

+Die CheckboxGroup +bietet alle Methoden, die auch bei einer Checkbox +verfügbar sind. setState +funktioniert allerdings nur dann, wenn als Parameter true +übergeben wird. In diesem Fall wird der Zustand der zugehörigen +Checkbox +gesetzt und der aller anderen Checkboxes derselben Gruppe zurückgenommen. +Bei der Übergabe von false +an setState +passiert gar nichts. Zusätzlich gibt es zwei Methoden getCheckboxGroup +und setCheckboxGroup, +die den Zugriff auf die zugeordnete CheckboxGroup +erlauben: +

+ + + + + +
+ +
+public void setCheckboxGroup(CheckboxGroup cbg)
+
+public CheckboxGroup getCheckboxGroup()
+
+
+
+java.awt.Checkbox
+ +

+Mit setCheckboxGroup +kann die Zuordnung der Checkboxes zu einer CheckboxGroup +auch nach der Konstruktion geändert werden. Das beim Aufruf von +getCheckboxGroup zurückgegebene +Objekt kann dazu verwendet werden, mit Hilfe der Methoden getCurrent +und setCurrent +der Klasse CheckboxGroup +auf das selektierte Element der CheckboxGroup +zuzugreifen: +

+ + + + + +
+ +
+public Checkbox getCurrent()
+
+public void setCurrent(Checkbox box)
+
+
+
+java.awt.CheckboxGroup
+ +

+getCurrent +liefert die Checkbox, +deren Zustand true +ist. Um mit setCurrent +eine Checkbox +zu aktivieren, muss diese als Parameter übergeben werden. Alle +anderen Checkboxes derselben Gruppe bekommen dann den Zustand false. + +

+Die einzelnen Checkboxes einer CheckboxGroup +senden ein ITEM-Event, wenn die Checkbox +selektiert wird. Dagegen wird kein Ereignis gesendet, wenn die Checkbox +deselektiert wird oder wenn ihr Zustand nicht vom Anwender, sondern +vom Programm verändert wird. + +

+Das folgende Beispiel zeigt die Definition von zwei Objekten des Typs +CheckboxGroup +mit jeweils drei Elementen. In jeder der beiden Gruppen ist immer +genau ein Element markiert, das unabhängig von den Elementen +der anderen Gruppe ausgewählt werden kann: + + +

+ + + + + +
+ +
+001 /* CheckboxGroup.inc */
+002 
+003 private void customizeLayout(Panel panel)
+004 {
+005   panel.setLayout(new GridLayout(3,2));
+006   CheckboxGroup cbg1 = new CheckboxGroup();
+007   CheckboxGroup cbg2 = new CheckboxGroup();
+008   panel.add(new Checkbox("rot",cbg1,true));
+009   panel.add(new Checkbox("eckig",cbg2,true));
+010   panel.add(new Checkbox("blau",cbg1,false));
+011   panel.add(new Checkbox("rund",cbg2,false));
+012   panel.add(new Checkbox("gelb",cbg1,false));
+013   panel.add(new Checkbox("schief",cbg2,false));
+014 }
+
+
+CheckboxGroup.inc
+ +Listing 32.5: Verwendung einer CheckboxGroup

+

+ + +

+ +

+Abbildung 32.5: Ein Dialog mit CheckboxGroup-Elementen

+
+ + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage, Addison +Wesley, Version 5.0.1 +
 <<  +  <   +  >   + >>  + API  +© 1998, 2007 Guido Krüger & Thomas +Stark, http://www.javabuch.de +
+ + + -- cgit v1.2.3