Struktur und Syntax


2.5.6 GUI und Graphische Kontrollelemente

Um dem Benutzer den von Ihm gewohnten Komfort zu bieten benutzen wir das Package java.awt, dessen Unterklasse Graphics wir in Kap.2.5.2 bis 2.5.4 schon gesehen haben. Sie bietet auch die Klassen und Methoden um Fenster, Buttons, Checkboxes, usw. zu erstel len. Wichtig ist, das das AWT nur abstrakte Methoden bietet, die auf verschiedenen Systemen anders aussehen können, da der Interpreter des Browsers die genauen Angaben über das Aussehen der Elemente vom Betriebssystem bekommt.
Die Unterklassen des AWT
  1. Das Frame stellt im Prinzip das erste Fenster dar, das bei einem Programmstart geöffnet wird. Es darf nur ein Frame geben, welches allerdings belliebig viele Fenster erzeugen darf. Eine Frame ist vom Typ Frame, ein neues Fram e erzeugen wir mit new Frame "Titel des Frames. Analog wird ein Fenster des Typs Window mit new Window ( parent_frame ) erzeugt. Weitere Methoden sind toBack ( ) und toTop ( ) um das Fenster in den Hintergrund bzw. den Vordergrund zu bringen. Mit dispose ( ) wird ein Fenster gelöscht. Am Anfang ist ein Fenster unsichtbar. Erst mit show ( ) wird es sichtbar.
  2. Ein Dialog verhält sich im Prinzip wie ein Fenster. Mit new Dialog ( win, "Titel", boolean modal ) erzeugen wir einen Dialog in einem Fenster win und einem Titel. Der Boolean-Ausdruck modal bestimmt, ob andere Anwendungen weiter benutzt werden können, wenn der Dialog noch nicht beendet ist ( z.B. Fehlermeldungen ).
  3. Label sind Fensterelemente, die nur Text enthalten. Der Typ heißt Label, und dasselbige wird mit new Label ( ) erzeugt und mit add ( Label label ) dem Fenster hinzugefügt. V orher kann bzw. muß man mit setText ( "blablabla" ) und setAlignment ( Label.ausrichtung ) dem Label Eigenschaften zuweisen. Labels können nur in Fenstern vorkommen.
  4. Buttons mit dem gleichnamigen Typnamen werden mit new Button ( "blablabla" ) erzeugt und mit add ( btn ) einem Fenster hinzugefügt.
  5. Checkboxes sind interessanter. Der Konstruktor der Klasse Checkbox ( Checkbox ( String label, CheckboxGroup group, boolean state ) ) benötigt 3 Argumente. label meint den Text neben der Checkbox, state besti mmt den Anfangszustand und group legt fest, ob sich verschiedene Schalter gegenseitig ausschließen. 2 Methoden dienen dazu, den Zustand des Schalters zu bestimmen. set Current ( Checkbox cb ) definiert einen Schalter und getCurrent ( ) überprüft den Status.
Ein weiteres Thema ist das Layout der verschiedenen Elemente. Windows erzeugt die Elemente mit einer festen Position ( x- und y-Wert ), Unix allerdings bestimmt die relativen Positionen ( Schalter A liegt rechts von Label B, usw... ). Jedes Element verfüg t über ein Layout, das man mit setLayout verändern und mit getLayout abfragen kann.
Source.

2.5.7 Animationen

Jedes animierte Applet ist gezwungen, folgende Methoden zu durchlaufen.
Lebenszyklus eines Applets

Eine sehr wichtige Methode für animierte Applets ist die Methode run ( ) aus der Klasse Thread. In ihr schlägt das Herz des Applets. Dort werden die Veränderungen bestimmt, die die Animation ausmachen, z.B. die leicht variierten Bilder oder zu zeichnende Linien. Für jedes Applet sollte es einen Thread (Faden) geben, der den Status des Applets steuert. Falls z.B. ein Applet angehalten wird, wird die Methode stop ( ) nur in Verbindung mit dem entsprechenden Thread aufgerufen, da sonst alle Applets anhalten würden, was ja nicht im Sinn des Benutzers liegen kann. Zum besseren Verständniss schaue man sich den Sourcecode dieses Programms an.