Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3.1 int, boolean und Programmstrukturen<br />
square. Im Konstruktor UserFrame() erfolgt nun die Plazierung der Komponenten in<br />
bekannter Weise. Hervorzuhalten ist die Zeile<br />
place(message=new Label(),40,30,150,20);<br />
da hier ein noch unbekannter Konstruktor der Klasse Label verwendet wird. Im<br />
Unterschied zu dem in Abschnitt 2.1 verwendeten Konstruktor generiert dieser ein Label,<br />
welches keine Beschriftung hat.<br />
Es wird auch ein neuer Konstruktor zur Generierung der Checkboxes verwendet. Da eine<br />
Zahl z.B. ungerade sein kann und zugleich auch eine ganzzahlige Wurzel aufweisen kann,<br />
sollte der Benutzer auch mehrer Checkboxes selektieren können. Aus diesem Grund dürfen<br />
die Checkboxes keiner CheckboxGroup zugeordnet werden. Dem Konstruktor wird<br />
lediglich der Name der Checkbox als Parameter übergeben:<br />
place(odd=new Checkbox("is odd"),40,60,120,20);<br />
In den Zeilen<br />
number = new Number();<br />
number.nextValue();<br />
message.setText("Check if "+number.toString());<br />
wird zuerst die Instanzvariable number als Instanz der Klasse Number initialisiert. Mit<br />
dem Aufruf number.nextValue() wird nun der Instanzvariablen value der Instanz<br />
number eine positive Zufallszahl zwischen 1 und 99 zugewiesen. In der letzten Zeile<br />
schlussendlich erhält das Label message die Botschaft setText(). Diese bewirkt, dass<br />
der als Parameter übergebene String im Label message ausgegeben wird. Die an<br />
number versandte Botschaft toString() liefert den Wert der Instanzvariablen value<br />
als String zurück, welcher an den String „Check if“ angehängt wird. Wenn value<br />
beispielsweise den Wert 63 hätte, würde auf dem Label message also der Text „Check if<br />
63“ zu sehen sein.<br />
Wie man ebenfalls aus dem Konstruktor UserFrame() entnehmen kann, gibt es auf der<br />
graphischen Benutzeroberfläche die drei Buttons DONE, NEXT und CHECK. Interessant<br />
sind hierbei die Zeilen<br />
place(button=new Button("DONE"),30,170,40,20);<br />
button.addActionListener(this);<br />
place(button=new Button("NEXT"),80,170,40,20);<br />
button.addActionListener(this);<br />
place(button=new Button("CHECK"),130,170,40,20);<br />
button.addActionListener(this);<br />
Zu Beginn wird im Konstruktor UserFrame() eine lokale Variable button vom Typ<br />
Button deklariert. Diese Variable wird nun dazu verwendet, die der Reihe nach<br />
erzeugten Instanzen dieser Klasse Button kurzfristig zu bezeichnen. Anfänglich<br />
referenziert button diejenige Instanz der Klasse Button, welche die Beschriftung<br />
„DONE“ hat. Ab der dritten Zeile jedoch benennt sie die Instanz der Klasse Button mit<br />
72