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.

8.5 Widgets<br />

Daneben gibt es noch die Konstanten <strong>SWT</strong>.APPLICATION_MODAL, <strong>SWT</strong>.<br />

MODELESS, <strong>SWT</strong>.PRIMARY_MODAL und <strong>SWT</strong>.SYSTEM_MODAL, die das modale<br />

Verhalten des Fensters bestimmen. Ein modales Fenster, das sich im<br />

Vordergrund befindet, lässt keine anderen Fenster der Applikation<br />

bzw. des Systems in den Vordergrund kommen. Ein solches Fenster<br />

sollte so instrumentiert sein, dass der Anwender das Fenster auch<br />

schließen kann.<br />

Wird kein Stilparameter angegeben, so hängt der Standardstil sowohl<br />

vom Betriebssystem als auch von der Art der Shell ab. So ist z.B. bei<br />

WindowsCE der Standardstil <strong>SWT</strong>.NONE. Bei anderen Windows-Versionen<br />

dagegen ist es SHELL_TRIM bzw. DIALOG_TRIM, je nach Art der Shell.<br />

Mit der Methode setImage() kann ein Icon spezifiziert werden,<br />

welches das Fenster repräsentiert, wenn es minimalisiert wird. Üblicherweise<br />

wird ein solches Icon auch in der Titelleiste gezeigt. Mit der<br />

Methode setImages() können Icons in verschiedenen Auflösungen<br />

spezifiziert werden, aus denen sich dann die Plattform für den jeweiligen<br />

Zweck das beste Icon aussuchen kann.<br />

Abb. 8–3 Eine Shell mit zwei Buttons (hier unter Windows2000). Die Shell wurde mit<br />

den Optionen <strong>SWT</strong>.BORDER, <strong>SWT</strong>.TITLE, <strong>SWT</strong>.CLOSE, <strong>SWT</strong>.MIN und <strong>SWT</strong>.MAX erzeugt, verfügt<br />

also über einen erhabenen Rand, eine Titelzeile und Tasten zum Schließen, Minimieren<br />

und Maximieren.<br />

Übrigens hat eine Shell nicht notwendigerweise eine rechteckige<br />

Gestalt. Durch Zuweisen einer Region kann man einer Shell eine beliebige<br />

Gestalt geben. Zunächst erzeugt man dazu eine Region-Instanz,<br />

der man dann mit add() Umrisslinien hinzufügt, oder aus der man mit<br />

subtract() auch wieder Teilbereiche entfernen kann. So kann man<br />

sogar »löchrige« Regions erzeugen. Mit setRegion() weist man dann<br />

die Region-Instanz der Shell zu. Wirksam wird eine solche Zuweisung<br />

aber nur für Shells vom Typ <strong>SWT</strong>.NO_TRIM. <strong>Das</strong> bedeutet, dass man für<br />

diese Shell das Schließen, Verschieben und das Verändern der Größe<br />

selbst organisieren muss. Abschnitt 10.3 zeigt die Konstruktion einer<br />

solchen irregulären Shell in der Praxis.<br />

Um ein erstes Beispielprogramm mit einer Shell zu schreiben, richten<br />

wir in der Workbench zunächst ein neues Projekt widgets ein und<br />

legen in diesem Projekt die Klasse widgetTest an. Diesem Projekt sind<br />

zunächst die <strong>SWT</strong>-Klassen nicht bekannt. Wir müssen die <strong>SWT</strong>-Biblio-<br />

Region<br />

159<br />

Die Workbench einrichten

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!