Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>SWT</strong>.PUSH Normale Taste mit sofortiger Auslösung<br />
<strong>SWT</strong>.CHECK Arretierende Taste<br />
<strong>SWT</strong>.RADIO Radiotaste mit gegenseitiger Auslösung<br />
<strong>SWT</strong>.SEPARATOR Passives Element zum Trennen von Tastengruppen<br />
<strong>SWT</strong>.DROP_DOWN Normale Taste mit assoziierter Pfeiltaste<br />
8.5 Widgets<br />
Die Beschriftung einer Taste wird mit der Methode setText() gesetzt.<br />
Bildtasten werden mit der Methode setImage() erzeugt. Zusätzliche<br />
Bilder, mit setHotImage() (für Tasten unter dem Mauszeiger) und set-<br />
DisabledImage() (für inaktive Tasten) gesetzt, können die verschiedenen<br />
Betriebszustände der Werkzeugtaste anzeigen. Wie bei Buttons<br />
(Abschnitt 8.5.6) sollten die jeweiligen Image-Instanzen wieder freigegeben<br />
werden, wenn sie nicht mehr benötigt werden. Mit setToolTip-<br />
Text() kann ein Text gesetzt werden, der angezeigt wird, wenn die<br />
Maus über die Taste bewegt wird.<br />
ToolItem-Instanzen erzeugen bei Betätigung SelectionEvent-Ereignisse.<br />
Bei DROP_DOWN-Tasten muss ermittelt werden, ob die Haupttaste<br />
oder die Pfeiltaste betätigt wurde. Dies kann über die Abfrage<br />
(event.detail == <strong>SWT</strong>.ARROW) geschehen. Die Applikation kann dann<br />
eine Menüliste aufbauen, welche die Auswahl einer Funktion erlaubt.<br />
Verschiebbare Werkzeuggruppen (CoolBar)<br />
Mit der Klasse CoolBar können mehrere ToolBar-Instanzen als so<br />
genannte CoolItems zu verschiebbaren Gruppen zusammengefasst werden.<br />
Ein gutes Beispiel für eine CoolBar ist die Werkzeugleiste der<br />
Eclipse-Workbench. Jede einzelne Toolbar-Instanz wird dabei in eine<br />
CoolItem-Instanz eingebettet. Diese CoolItem-Instanzen werden auf die<br />
CoolBar platziert und sind dort verschiebbar. Die Zuordnung zwischen<br />
CoolItem und Toolbar erfolgt mit der Methode setControl(). Dabei<br />
muss anfänglich für jede CoolItem-Instanz eine minimale Größe gesetzt<br />
werden. Im zweiten Beispiel dieses Abschnitts zeigen wir, wie das geht.<br />
Wird für eine CoolItem-Instanz der Stil <strong>SWT</strong>.DROP_DOWN gesetzt, so<br />
erscheint ein Pfeilsymbol, wenn in einer Werkzeuggruppe nicht alle<br />
Werkzeuge abgebildet werden können. Dazu ist allerdings eine entsprechende<br />
Ereignisverarbeitung mit Aufbau eines Drop-down-Menüs<br />
zu implementieren, ähnlich wie das für Drop-down-Tasten notwendig<br />
ist.<br />
181