Script Java
Script Java Script Java
2.2 Checkbox Checkboxes Abbildung 2-5: Business Cards - Version 2, UserFrame 2.2.1.1 Checkbox, radio buttons und CheckboxGroup Mit Hilfe von Checkboxes ist es nun möglich, beim Erfassen einer Person auch die Anredeform auszuwählen. Bei einer Checkbox handelt es sich um eine beschriftete Komponente, die entweder selektiert oder nicht selektiert ist; man kann also eine binäre Auswahl 1 treffen. Werden mehrere Checkboxes zusammen einer sogenannten CheckboxGroup zugeordnet, so kann jeweils immer nur eine dieser Checkboxes gleichzeitig selektiert sein. In Abbildung 2-5 sind die drei Checkboxes mit der Beschriftung Mr, Mrs und Ms sichtbar, welche zusammen einer CheckboxGroup zugeordnet sind. Übrigens unterscheiden sich Checkboxes, welche einer CheckboxGroup angehören, optisch von solchen, die keiner CheckboxGroup zugeordnet sind. Erstere werden auch aufgrund ihres gegenseitigen Ausschlusses umgangssprachlich als radio buttons bezeichnet. In der Attributdeklaration finden wir nun das Objekt title der Klasse CheckboxGroup vor. In der Methode UserFrame() sind folgende Zeilen neu und interessant: 1 Im Sinne von: wahr oder nicht wahr, selektiert oder nicht selektiert. 38
2.3 Vererbung, Konstruktor und Redefinition title = new CheckboxGroup(); place(new Checkbox("Mr",true,title),30,30,40,20); place(new Checkbox("Mrs",false,title),80,30,40,20); place(new Checkbox("Ms",false,title),130,30,40,20); Die erste Anweisung generiert eine Instanz der Klasse CheckboxGroup und bezeichnet diese mit title, damit wir nun fortan diese Instanz ansprechen können. In den folgenden drei Zeilen werden mit der uns bereits vertrauten Methode place() die in Abbildung 2-5 ersichtlichen Checkboxes plaziert. Beim ersten Parameter der Methode place() handelt es sich ja um die zu positionierende Komponente. Schauen wir uns den ersten Parameter des ersten Aufrufs noch ein wenig genauer an: new Checkbox("Mr",true,title) Es handelt sich hier erneut um einen Methodenaufruf. Dieser liefert ein Objekt der Klasse Checkbox zurück, welches die Beschriftung (engl. label) "Mr" hat, zu Beginn des Programms selektiert ist und der CheckboxGroup title zugeordnet ist. Würde der zweite Parameter in obigem Aufruf false lauten, wäre die Checkbox nicht selektiert. Der letzte Unterschied schlussendlich im Vergleich zur Version 1 ist in der Methode actionPerformed() zu finden, nämlich im ersten Aufruf von println(). Dort wird nun neu der Text title.getSelectedCheckbox().getLabel() durch ein Leerzeichen getrennt vor den Namen der Person gestellt. Der CheckboxGroup title wird die Botschaft getSelectedCheckbox() gesandt. Daraufhin erhält man nun diejenige Instanz der Klasse Checkbox, die zur Zeit selektiert ist. Dieser selektierten Instanz der Klasse Checkbox wird nun die Botschaft getLabel() geschickt, worauf diese ihre Beschriftung zurückgibt. Die obigen zwei ineinandergeschachtelten Methodenaufrufe müssen also – wie immer – von links nach rechts gelesen werden. 2.3 Vererbung, Konstruktor und Redefinition Erneut wurde das Programm „Business Cards - Version 2“ zu einer Version 3 erweitert. Hierbei sind die Neuerungen von Version 2 zu Version wiederum 3 fett hervorgehoben. import java.awt.*; import java.awt.event.*; public class Card extends Frame { private String title, firstName, familyName, street, zipCode, city; 39
- Seite 1 und 2: I nhaltsverzeichnis 1 EINFÜHRUNG..
- Seite 3 und 4: 3.3 ZUSAMMENFASSUNG ...............
- Seite 5 und 6: 11.1 TURTLE-GEOMETRIE..............
- Seite 7 und 8: 1.1 Objektorientierung 1Objektorien
- Seite 9 und 10: 1.1 Objektorientierung 1.1.3 Objekt
- Seite 11 und 12: 1.2 Programm Auf Programmebene bewi
- Seite 13 und 14: 1.2 Programm Rotkäppchen.backKuche
- Seite 15 und 16: 1.2 Programm Anweisungen ausführen
- Seite 17 und 18: 1.3 Java Für einen Java-Programmie
- Seite 19 und 20: 1.4 Zusammenfassung So wie man bei
- Seite 21 und 22: 2.1 Programmaufbau, Attribute und M
- Seite 23 und 24: 2.1 Programmaufbau, Attribute und M
- Seite 25 und 26: 2.1 Programmaufbau, Attribute und M
- Seite 27 und 28: 2.1 Programmaufbau, Attribute und M
- Seite 29 und 30: 2.1 Programmaufbau, Attribute und M
- Seite 31 und 32: 2.1 Programmaufbau, Attribute und M
- Seite 33 und 34: 2.1 Programmaufbau, Attribute und M
- Seite 35 und 36: 2.1 Programmaufbau, Attribute und M
- Seite 37: 2.2 Checkbox } } place(familyName=n
- Seite 41 und 42: 2.3 Vererbung, Konstruktor und Rede
- Seite 43 und 44: 2.3 Vererbung, Konstruktor und Rede
- Seite 45 und 46: 2.3 Vererbung, Konstruktor und Rede
- Seite 47 und 48: 2.3 Vererbung, Konstruktor und Rede
- Seite 49 und 50: 2.3 Vererbung, Konstruktor und Rede
- Seite 51 und 52: 2.4 Instanzvariablen und Klassenvar
- Seite 53 und 54: 2.4 Instanzvariablen und Klassenvar
- Seite 55 und 56: 2.5 Zusammenfassung Im Gegensatz da
- Seite 57 und 58: 3.1 int, boolean und Programmstrukt
- Seite 59 und 60: 3.1 int, boolean und Programmstrukt
- Seite 61 und 62: 3.1 int, boolean und Programmstrukt
- Seite 63 und 64: 3.1 int, boolean und Programmstrukt
- Seite 65 und 66: 3.1 int, boolean und Programmstrukt
- Seite 67 und 68: 3.1 int, boolean und Programmstrukt
- Seite 69 und 70: 3.1 int, boolean und Programmstrukt
- Seite 71 und 72: 3.1 int, boolean und Programmstrukt
- Seite 73 und 74: 3.1 int, boolean und Programmstrukt
- Seite 75 und 76: 3.1 int, boolean und Programmstrukt
- Seite 77 und 78: 3.1 int, boolean und Programmstrukt
- Seite 79 und 80: 3.1 int, boolean und Programmstrukt
- Seite 81 und 82: 3.1 int, boolean und Programmstrukt
- Seite 83 und 84: 3.1 int, boolean und Programmstrukt
- Seite 85 und 86: 3.1 int, boolean und Programmstrukt
- Seite 87 und 88: 3.1 int, boolean und Programmstrukt
2.3 Vererbung, Konstruktor und Redefinition<br />
title = new CheckboxGroup();<br />
place(new Checkbox("Mr",true,title),30,30,40,20);<br />
place(new Checkbox("Mrs",false,title),80,30,40,20);<br />
place(new Checkbox("Ms",false,title),130,30,40,20);<br />
Die erste Anweisung generiert eine Instanz der Klasse CheckboxGroup und bezeichnet<br />
diese mit title, damit wir nun fortan diese Instanz ansprechen können. In den folgenden<br />
drei Zeilen werden mit der uns bereits vertrauten Methode place() die in Abbildung 2-5<br />
ersichtlichen Checkboxes plaziert. Beim ersten Parameter der Methode place() handelt<br />
es sich ja um die zu positionierende Komponente. Schauen wir uns den ersten Parameter<br />
des ersten Aufrufs noch ein wenig genauer an:<br />
new Checkbox("Mr",true,title)<br />
Es handelt sich hier erneut um einen Methodenaufruf. Dieser liefert ein Objekt der Klasse<br />
Checkbox zurück, welches die Beschriftung (engl. label) "Mr" hat, zu Beginn des<br />
Programms selektiert ist und der CheckboxGroup title zugeordnet ist. Würde der<br />
zweite Parameter in obigem Aufruf false lauten, wäre die Checkbox nicht selektiert.<br />
Der letzte Unterschied schlussendlich im Vergleich zur Version 1 ist in der Methode<br />
actionPerformed() zu finden, nämlich im ersten Aufruf von println(). Dort<br />
wird nun neu der Text<br />
title.getSelectedCheckbox().getLabel()<br />
durch ein Leerzeichen getrennt vor den Namen der Person gestellt.<br />
Der CheckboxGroup title wird die Botschaft getSelectedCheckbox() gesandt.<br />
Daraufhin erhält man nun diejenige Instanz der Klasse Checkbox, die zur Zeit selektiert<br />
ist. Dieser selektierten Instanz der Klasse Checkbox wird nun die Botschaft<br />
getLabel() geschickt, worauf diese ihre Beschriftung zurückgibt. Die obigen zwei<br />
ineinandergeschachtelten Methodenaufrufe müssen also – wie immer – von links nach<br />
rechts gelesen werden.<br />
2.3 Vererbung, Konstruktor und Redefinition<br />
Erneut wurde das Programm „Business Cards - Version 2“ zu einer Version 3 erweitert.<br />
Hierbei sind die Neuerungen von Version 2 zu Version wiederum 3 fett hervorgehoben.<br />
import java.awt.*;<br />
import java.awt.event.*;<br />
public class Card extends Frame {<br />
private String title, firstName, familyName, street, zipCode, city;<br />
39