GridLayout gehört zu den leistungsstärkeren und komplexeren Layouts. GridLayout ordnet Fensterelemente in einem Raster an und stellt auf diese Weise viele konfigurierbare Parameter zur Verfügung, mit denen das Größenverhalten der Rasterzeilen und -spalten beim Ändern der Größe des Kombinationsobjekts gesteuert werden kann.
Die Klasse GridLayout definiert eine API, die die Gesamtstrategie des Layouts steuert. Das wichtigste Attribut ist das Attribut numColumns, das die horizontale Größe des Rasters bestimmt. In der Regel legen Sie diesen Wert fest, wenn Sie die Darstellung des Fensters erstmalig festlegen. Die Reihenfolge der Widgets im Raster ist mit der Reihenfolge identisch, in der diese erstellt werden. Um die Reihenfolge der Widgets im Raster zu ändern, müssen Sie die Control-Methoden moveAbove(Control) und moveBelow(Control) verwenden. Mit diesen Methoden können Widgets vor oder nach anderen Objekten im Layout eingefügt werden. (Die Angaben "above" (über) und "below" (unter) beziehen sich auf die Reihenfolge der Widgets und nicht auf die Position im eigentlichen Raster.)
Die folgende Tabelle fasst die konfigurierbaren Parameter für eine Klasse GridLayout zusammen:
Attribute |
Beschreibung |
---|---|
horizontalSpacing |
Anzahl der Pixel zwischen dem rechten Rand einer Zelle und dem linken Rand der Nachbarzelle. |
makeColumnsEqualWidth |
Gibt an, ob alle Spalten auf dieselbe Größe gesetzt werden sollen. |
marginWidth |
Anzahl der Pixel für den Rand am rechten und linken Rand des Rasters. |
marginHeight |
Anzahl der Pixel für den Rand am oberen und unteren Rand des Rasters. |
numColumns |
Anzahl der Spalten, aus denen das Raster bestehen soll. |
verticalSpacing |
Anzahl der Pixel zwischen dem unteren Rand einer Zelle und dem oberen Rand der Nachbarzelle. |
Die Klasse GridLayout unterstützt für die einzelnen Widgets im Raster viele weitere Layoutparameter. Diese Eigenschaften werden in einem Objekt GridData angegeben. Für jedes Widget im Raster müssen Sie ein Objekt GridData als Layoutdaten festlegen.
Die Klasse GridData definiert Darstellungskonstanten, mit denen Sie häufig verwendete Kombinationen von Layoutparametern im Konstruktor von GridData angeben können. Außerdem können Sie diese Attribute individuell festlegen, indem Sie die öffentlichen Methoden in GridData verwenden.
Extrem dynamische und komplexe Layouts können Sie mit GridData realisieren. Durch das Definieren dieser Werte für unterschiedliche Widgets im Raster können Sie viele verschiedene Layoutkombinationen erzielen. Durch die Möglichkeit zur Verwendung zellenübergreifender Widgets können viele Layouts erstellt werden, die nicht einmal wie ein Raster aussehen.
Die folgende Tabelle fasst die konfigurierbaren Parameter für GridData zusammen. Eine weitere Beschreibung sowie Beispielanzeigen, die die unterschiedlichen Rasterparameter verwenden, finden Sie unter Understanding layouts in SWT.
Attribute |
Beschreibung |
---|---|
grabExcessHorizontalSpace |
Gibt an, ob eine Zelle vergrößert werden soll, um zusätzlichen horizontalen Bereich zu nutzen, der im Raster verfügbar ist. Nachdem die Zellengrößen im Raster basieren auf den Widgets und deren Rasterdaten berechnet wurden, wird solchen Zellen mit erhöhtem Platzbedarf der gesamte zusätzliche Platz zugeordnet, der im Kombinationsobjekt übrig ist. |
grabExcessVerticalSpace |
Gibt an, ob eine Zelle vergrößert werden soll, um zusätzlichen vertikalen Bereich zu nutzen, der im Raster verfügbar ist. |
heightHint |
Gibt eine Mindesthöhe des Widgets (und somit auch für die darin enthaltene Zeile) an. |
horizontalAlignment |
Kann einer der Werte BEGINNING, CENTER, END oder FILL sein. FILL bedeutet, dass das Widget auf die gesamte Breite seiner Rasterzelle vergrößert wird. |
horizontalIndent |
Die Anzahl der Pixel zwischen dem Widget und dem linken Rand seiner Rasterzelle. |
horizontalSpan |
Gibt die Anzahl der Spalten im Raster an, über die sich das Widget erstrecken soll. In der Standardeinstellung belegt ein Widget eine Zelle im Raster. Es kann weitere horizontale Zellen belegen, wenn dieser Wert heraufgesetzt wird. |
verticalAlignment |
Kann einer der Werte BEGINNING, CENTER, END oder FILL sein. FILL bedeutet, dass das Widget auf die gesamte Höhe seiner Rasterzelle vergrößert wird. |
verticalSpan |
Gibt die Anzahl der Zeilen im Raster an, über die sich das Widget erstrecken soll. In der Standardeinstellung belegt ein Widget eine Zelle im Raster. Es kann weitere vertikale Zellen belegen, wenn dieser Wert heraufgesetzt wird. |
widthHint |
Gibt eine Mindestbreite für das Widget (und somit für die es enthaltende Spalte) an. |