Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
158<br />
8 <strong>Das</strong> <strong>SWT</strong><br />
Shell<br />
// Fensterkoordinate (100,50) in das Display-<br />
// Koordinatensystem übersetzen<br />
Point coord = display.map(shell, null, 100, 50);<br />
event = new Event();<br />
event.type = <strong>SWT</strong>.MouseMove;<br />
event.x = coord.x;<br />
event.y = coord.y;<br />
display.post(event);<br />
Die Klasse Shell repräsentiert ein Fenster auf dem Desktop des jeweiligen<br />
Betriebssystems. Dabei kann eine Shell-Instanz drei verschiedene<br />
Betriebszustände annehmen: maximiert, normal oder minimiert. Beim<br />
Wechsel dieser Betriebszustände erzeugen Shell-Instanzen Ereignisse<br />
vom Typ ShellEvent.<br />
Achtung: Von Shell dürfen keine Unterklassen gebildet werden. <strong>Das</strong> merkt man<br />
allerdings erst bei der Ausführung. Für die Implementierung eigener Fensterklassen<br />
verwendet man besser die JFace-Klasse Window (siehe Abschnitt 9.2).<br />
Shell-Typen Es gibt zwei verschiedene Arten von Shell-Instanzen: Top-Level-Shells<br />
für das Hauptfenster der Applikation und Dialog-Shells, die von anderen<br />
Shells abhängig sind. Welche Instanzenart erzeugt wird, hängt von<br />
dem Parameter des Konstruktors ab: Wird eine Display-Instanz übergeben,<br />
wird eine Top-Level-Shell erzeugt; wird eine andere Shell-<br />
Instanz übergeben, wird eine Dialog-Shell erzeugt.<br />
Beim Erzeugen einer Shell kann optional ein Stilparameter mit<br />
angegeben werden. Dabei können die folgenden <strong>SWT</strong>-Konstanten<br />
benutzt werden:<br />
<strong>SWT</strong>.NONE Standardfenster, betriebssystemabhängig.<br />
<strong>SWT</strong>.BORDER Fenster hat einen Rand (plattformabhängig).<br />
<strong>SWT</strong>.CLOSE Fenster hat eine Titelzeile mit einem Button zum Schließen des Fensters.<br />
<strong>SWT</strong>.MIN Fenster hat eine Titelzeile mit einem Button zum Minimalisieren des Fensters.<br />
<strong>SWT</strong>.MAX Fenster hat eine Titelzeile mit einem Button zum Maximalisieren des Fensters.<br />
<strong>SWT</strong>.NO_TRIM Fenster hat weder Titelzeile noch Rand.<br />
<strong>SWT</strong>.RESIZE Fenstergröße kann durch Ziehen mit der Maus verändert werden.<br />
<strong>SWT</strong>.TITLE Fenster hat eine Titelzeile.<br />
<strong>SWT</strong>.SHELL_TRIM<br />
<strong>SWT</strong>.DIALOG_TRIM<br />
Kombination von Stilelementen für das Top-Level-Fenster einer Applikation<br />
(<strong>SWT</strong>.CLOSE | <strong>SWT</strong>.TITLE | <strong>SWT</strong>.MIN | <strong>SWT</strong>.MAX | <strong>SWT</strong>.RESIZE).<br />
Kombination von Stilelementen für Dialog-Fenster<br />
(<strong>SWT</strong>.CLOSE | <strong>SWT</strong>.TITLE | <strong>SWT</strong>.BORDER).