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.

196<br />

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

Referenz-GUI-Element Für die zweite Methode der Positionierung gibt es drei Konstruktor-Varianten:<br />

Zwischen GUI-Elementen<br />

hin- und herschalten<br />

FormAttachment (control, offset, alignment)<br />

FormAttachment (control, offset)<br />

FormAttachment (control)<br />

Der Parameter control gibt dabei die Control-Instanz (also das GUI-<br />

Element) an, auf die wir uns beziehen.<br />

Der Parameter offset gibt den Abstand zwischen den GUI-Elementen<br />

an. Wird der Parameter weggelassen, ist der Abstand Null.<br />

Der Parameter alignment gibt an, auf welche Kante des Referenzelements<br />

wir uns beziehen. Für Zuweisungen an top- und bottom-Felder<br />

können hier die Stilkonstanten <strong>SWT</strong>.TOP, <strong>SWT</strong>.BOTTOM und <strong>SWT</strong>.CENTER<br />

verwendet werden. Für Zuweisungen an left- und right-Felder sind<br />

es die Konstanten <strong>SWT</strong>.LEFT, <strong>SWT</strong>.RIGHT und <strong>SWT</strong>.CENTER. Wird der Parameter<br />

alignment weggelassen, so wird die nächstliegende Kante<br />

benutzt.<br />

8.6.6 Die Klasse StackLayout<br />

Diese Klasse ist im Unterschied zu den vorigen vier vordefinierten Layouts<br />

nicht im Package org.eclipse.swt.layout enthalten, sondern im<br />

Package org.eclipse.swt.custom. Sie unterscheidet sich von anderen<br />

Layout-Klassen auch darin, dass innerhalb eines Composite immer nur<br />

ein GUI-Element sichtbar ist. Der Grund dafür ist, dass alle GUI-Elemente<br />

gleich groß gemacht werden und an der gleichen Stelle übereinander<br />

positioniert sind. Damit ist immer nur das oberste Element sichtbar.<br />

Die Klasse StackLayout ist dann sinnvoll, wenn man zwischen<br />

GUI-Elementen hin- und herschalten will. Man braucht lediglich die<br />

gewünschte Control-Instanz an die höchste Position zu bringen.<br />

Für StackLayout stehen die folgenden Optionen zur Verfügung:<br />

marginHeight Dieses Feld kontrolliert die Größe des Randbereichs oben und unten in Pixeln.<br />

marginWidth Dieses Feld kontrolliert die Größe des Randbereichs links und rechts in Pixeln.<br />

topControl Die sichtbare Control-Instanz.<br />

Im folgenden Beispiel legen wir zwei Button-Instanzen übereinander.<br />

Wird eine Taste gedrückt, wird jeweils die andere Taste sichtbar:<br />

// Neues Composite erzeugen<br />

final Composite stackComposite = new Composite(composite,<strong>SWT</strong>.NULL);<br />

final StackLayout stackLayout = new StackLayout();<br />

// Text-Buttons erzeugen<br />

final Button buttonA = new Button(stackComposite, <strong>SWT</strong>.PUSH);

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!