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.

8.6 Layouts<br />

height Die gewünschte Höhe des GUI-Elements in Pixeln.<br />

width Die gewünschte Breite des GUI-Elements in Pixeln.<br />

top<br />

bottom<br />

left<br />

right<br />

Dabei gibt es für FormAttachment-Instanzen zwei Spielarten:<br />

! Angabe einer relativen Position im Composite<br />

! Angabe relativ zu einem anderen GUI-Element<br />

Für die erste Methode der Positionierung stehen zwei Konstruktor-<br />

Varianten zur Verfügung:<br />

und<br />

FormAttachment fa = new FormAttachment(prozent, offset);<br />

FormAttachment fa = new FormAttachment(zaehler, nenner, offset);<br />

Die Position p ermittelt sich dann aus der Höhe oder Breite d des Composite<br />

wie folgt:<br />

p = d*zaehler/nenner+offset<br />

Wurde nur ein Prozentwert angegeben, so ist die Formel natürlich:<br />

p = d*prozent/100+offset<br />

Nehmen wir z.B. an, dass unser Composite 400 Pixel breit ist und 300<br />

Pixel hoch ist. Erzeugen wir nun eine FormAttachment-Instanz mit<br />

FormAttachment(30,10) und weisen sie dem top-Feld einer FormData-<br />

Instanz zu, so ergibt sich:<br />

p = 30/100*300+5 = 95<br />

Der obere Rand unseres GUI-Elements ist also 95 Pixel vom oberen<br />

Rand der Client-Area des Composite entfernt. Würden wir dieselbe<br />

Instanz stattdessen dem bottom-Feld zuweisen, so wäre der untere<br />

Rand unseres GUI-Elements 95 Pixel vom unteren der Client-Area des<br />

Composite entfernt.<br />

Würden wir dagegen dieselbe Instanz dem left-Feld zuweisen, so<br />

ergäbe sich<br />

p = 30/100*400+5 = 125<br />

Eine FormAttachment-Instanz, die angibt, auf was sich die obere/<br />

untere/linke/rechte Kante des GUI-Elements beziehen soll.<br />

Der linke Rand unseres GUI-Elements ist also 125 Pixel vom linken<br />

Rand der Client-Area des Composite entfernt. Entsprechendes gilt für<br />

die Zuweisung an das right-Feld.<br />

FormAttachment<br />

Composite-Position<br />

195

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!