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
+
+
+
+
+
+
+
+
+
+
+
+
+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