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: