Wie legen Sie Zeilen und Spalten eines Widgets im Grid-Layout fest?

8

Ich verwende das Grid-Layout in einer Shell. Ich möchte den Standort von Widgets steuern. Wie Sie sehen können, müssen die unteren Schaltflächen in Zeile 4 stehen. Ich verwende das Windowbuilder-Plugin und kann sie an den gewünschten Stellen platzieren.

Das Problem ist, dass ich die Platzierungsanweisung im Quellcode nicht sehen kann. Wie kann ich ihnen den programmatischen Weg geben? Hier wird der Quellcode-Fenster-Generator generiert.

%Vor%     
morteza khosravi 19.06.2013, 13:03
quelle

2 Antworten

10

Die einzige Möglichkeit, einige Zellen in GridLayout zu überspringen, besteht darin, sie mit leeren Steuerelementen zu füllen, und das tut WindowBuilder mit diesen new Label(shell, SWT.NONE); -Zeilen. Wenn Sie ein Steuerelement programmgesteuert auf eine bestimmte Zeile / Spalte setzen möchten, müssen Sie die erforderliche Anzahl von leeren Label s (oder anderen unsichtbaren Steuerelementen) zählen, die hinzugefügt werden sollen.

    
Alexey Romanov 19.06.2013, 15:03
quelle
3

Sie sollten besser FormLayout verwenden, was flexibler ist als GridLayout . Wenn Sie es benötigen, können Sie ein Widget FormData erhalten, seine Einstellungen ändern und dann ein Neulayout erzwingen, um die Widgets zur Laufzeit neu zu positionieren.

Eclipse SWT Layout Sicht könnte eine große Hilfe für Sie sein.

Hier ist ein Code, der Ihr Layout reproduziert:

%Vor%     
Mario Marinato 20.06.2013 12:40
quelle

Tags und Links