20.08.2012 Aufrufe

8 Das SWT

8 Das SWT

8 Das SWT

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

182<br />

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

Menüs<br />

Menüs können mit Hilfe der Klasse Menu aufgebaut werden. Mit den<br />

folgenden Stilkonstanten kann das Erscheinungsbild von Menüs<br />

bestimmt werden:<br />

<strong>SWT</strong>.BAR Menüleiste<br />

<strong>SWT</strong>.DROP_DOWN Drop-down-Menü<br />

<strong>SWT</strong>.POP_UP Pop-up-Menü<br />

Menu-Instanzen erzeugen Ereignisse vom Typ HelpEvent und MenuEvent.<br />

Erscheint ein Menü auf dem Bildschirm, wird die Methode menuShown()<br />

der MenuListener-Instanz aufgerufen. Verschwindet das Menü,<br />

wird die Methode menuHidden() aufgerufen.<br />

MenuItem Die Menüeinträge werden von MenuItem-Instanzen repräsentiert.<br />

Die Art des Eintrags kann über eine Stilkonstante bestimmt werden:<br />

<strong>SWT</strong>.CHECK<br />

Menüeintrag mit Check-Symbol. Bei Betätigung erscheint und<br />

verschwindet das Check-Symbol wechselweise.<br />

<strong>SWT</strong>.CASCADE Menüeintrag für kaskadierende Menüs<br />

<strong>SWT</strong>.PUSH Normaler Menüeintrag<br />

<strong>SWT</strong>.RADIO Menüeintrag mit gegenseitiger Auslösung<br />

<strong>SWT</strong>.SEPARATOR Passive Trennlinie<br />

Die Beschriftung eines Eintrags wird mit der Methode setText()<br />

gesetzt.<br />

MenuItem-Instanzen erzeugen bei Betätigung Ereignisse vom Typ<br />

SelectionEvent, ArmEvent und HelpEvent. ArmEvents werden ausgelöst,<br />

wenn der Mauszeiger über den Menüeintrag positioniert wird.<br />

Will man beispielsweise eine klassische Menüleiste aufbauen, so<br />

legt man zunächst die Menüleiste selbst als Menu-Instanz vom Typ<br />

<strong>SWT</strong>.BAR an. Als übergeordnetes Composite muss dabei die Shell angegeben<br />

sein, für welche die Menüleiste aufgebaut werden soll. Freilich ist<br />

dann die Menüleiste noch nicht für diese Shell aktiviert. Dies muss von<br />

der Shell-Instanz aus geschehen, und zwar mit der Methode setMenu-<br />

Bar(). Die einzelnen Menütitel werden dann als kaskadierende Menu-<br />

Item-Instanzen angelegt. Deren Untermenüs werden als unabhängige<br />

<strong>SWT</strong>.DROP_DOWN-Menüs unter der Shell-Instanz angelegt und den<br />

Menütiteln mit setMenu()zugeordnet.<br />

<strong>Das</strong> folgende Beispiel zeigt den Aufbau eines einfachen Menüs mit<br />

einem einzigen Menütitel:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!