20.08.2012 Aufrufe

8 Das SWT

8 Das SWT

8 Das SWT

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

154<br />

8 <strong>Das</strong> <strong>SWT</strong><br />

8.5 Widgets<br />

In diesem Abschnitt behandeln wir die verschiedenen GUI-Elemente<br />

entlang ihrer Vererbungshierarchie (siehe Abb. 8–1), an deren Spitze<br />

die Klasse Widget steht. Dazu gehören selbstverständlich die unmittelbaren<br />

Bedienelemente wie Tasten (Button), Textfelder (Text) oder<br />

Schieberegler (Slider), aber auch Elemente, die der Gruppierung von<br />

Bedienelementen dienen wie die Klassen Group und Composite.<br />

Die Klasse Widget<br />

Alle GUI-Elemente sind Abkömmlinge der abstrakten Klasse Widget.<br />

Diese Klasse implementiert einige Basismethoden wie dispose() oder<br />

addDisposeListener(). Bei der Ausführung von dispose() sendet sie<br />

allen DisposeListener-Instanzen ein DisposeEvent-Objekt.<br />

Unmittelbarer Abkömmling der Klasse Widget ist die abstrakte<br />

Klasse Control. Instanzen dieser Klasse repräsentieren fensterbezogene<br />

GUI-Elemente und korrelieren direkt mit Ressourcen des Betriebsoder<br />

Fenstersystems.<br />

Die Klasse Control<br />

Die Klasse Control kann folgende Event-Typen an die jeweiligen Listener<br />

schicken: ControlEvent, FocusEvent, HelpEvent, KeyEvent, MouseEvent,<br />

MouseTrackEvent, MouseMoveEvent, PaintEvent. Dazu stellt Control<br />

für die Verwaltung der jeweiligen Listener-Typen verschiedene<br />

add...Listener()- und remove...Listener()-Methoden zur Verfügung.<br />

Außerdem stellt Control ein reichhaltiges Arsenal von Methoden<br />

zur Verfügung, mit denen die verschiedenen Eigenschaften der jeweiligen<br />

GUI-Elemente gesetzt und abgefragt werden können. Insbesondere<br />

sind die Methoden setVisible() und setEnabled() zu erwähnen, mit<br />

denen man GUI-Elemente zeigen und verstecken bzw. für die Eingabe<br />

freigeben oder sperren kann.<br />

Größe und Position Anfänglich wird die Größe von Control-Instanzen auf einen<br />

Default-Wert gesetzt. In vielen Fällen ist das die minimale Größe<br />

(0x0), so dass das entsprechende GUI-Element unsichtbar bleibt. Mit<br />

der Methode setBounds() kann die Größe der Instanz und auch die<br />

Position relativ zum übergeordneten Composite (siehe Abschnitt 8.5.4)<br />

gesetzt werden. Alternativ kann das übergeordnete Composite mit<br />

einem Layout (siehe Abschnitt 8.6) versehen werden, das sich selbsttätig<br />

um die Positionierung der im Composite enthaltenen Control-<br />

Instanzen kümmert. Mit der Methode pack() wird die bevorzugte<br />

Größe bzw. die aus dem Layout abgeleitete Größe neu berechnet.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!