SWT Layout frage

M

Mikrowelle

Hallo

Mein Layout sieht auf dem Papier so aus

GridLayout
A B
C D

A und B haben jeweil eine eigene Komponente
in C und D soll aber eine Komponte sein die sich über C und D streckt. Z.B. Eine Tabelle die von ganz links nach ganz rechts geht. Wie mache ich das? Bis jetzt packt er mir die Tabelle einfach nach C.

Kann auch sein das mein layout falsch gewählt ist. Ich lasse mich da gerne belehren.

Danke für Eure Hilfe.

EDIT: Ich habe noch eine Frage. Ist es möglich den Komponenten vorzuschreiben im welchen Feld von dem Grid sie erscheinen sollen? Bis jetzt habe ich den Code einfach in so einer Reihenfolge geschrieben das alles gepasst hat. Für die übersicht wäre es aber viel schöner wenn ich sagen könnte "button 1" in zweite Spalte dritte Zeile laden.
 
Zuletzt bearbeitet von einem Moderator:
Hi,

1. Komponentenausrichtung
Um deine Komponenten richtig ausrichten zu können musst du - für das GridLayout - den einzelnen Komponenten ein GridData-Object übergeben. In diesem GridData-Object kannst du Einstellungen vornehmen, wie die Komponente im GridLayout dargestellt werden sollen.
Für dein Problem sollte dir erstmal diese Variable "gridData.horizontalSpan = 2;" genügen. Hier ist auch noch ein Code-Beispiel. Für alles weitere empfehle ich dir einen Blick in die API zu werfen.

2. Position im GridLayout
Das geht meines Erachtens nach nicht. Da das GridLayout so vorgegeben ist, dass die Komponenten darin immer von links nach rechts angeordnet werden.
Ich kann mich aber auch täuschen...

Gruß

Fabio
 
Ich nehme mal an, dass deine Frage sich auf dein 2. Problem bezieht.
Wenn du die Komponenten auf eine feste Position weisen willst, musst du das fix machen. Dann richten sich die Komponenten allerdings auch an keinem Layout aus. Sprich wenn du dein Fenster größer/kleiner machst, bleiben die Komponenten wie sie sind und verschwinden evtl. hinter dem Fensterrahmen.

Aber ist es denn schlimm, wenn du die Komponenten in der Reihe, wie sie auch auf das GridLayout sollen im Code reintippst?
 
Zurück