GridLayout は強力で 複雑なレイアウトの 1 つです。 GridLayout を使用すると、 ウィジェットはグリッド内にレイアウトされ、 コンポジットのサイズを変更するときにグリッドの行およびカラムのサイズ変更動作を制御する 多くの構成可能パラメーターが使用できるようになります。
GridLayout は、レイアウトの全体的な戦略を制御する API を定義します。最も重要な属性は、グリッドの水平方向のサイズを決定する numColumns です。通常、この値は、ウィンドウの外観を最初に設計するときに決定します。 グリッド内のウィジェットの順序は、作成順序と同じです。 グリッド内のウィジェットの順序を変更するには、 Control メソッドの moveAbove(Control) および moveBelow(Control) を使用します。 これらのメソッドを使用すると、レイアウト内でウィジェットを他のウィジェットの直前または直後に挿入することができます。 (「上方」および「下方」は、グリッド自体におけるロケーションではなく、ウィジェットの Z 方向の順序を表します。)
次の表に、GridLayout の 構成可能パラメーターの要約を示します。
属性 |
説明 |
---|---|
horizontalSpacing |
特定のセルの右端とその隣接セルの左端の間のピクセル数です。 |
makeColumnsEqualWidth |
すべてのカラムを強制的に同じ幅にするかどうかを指定します。 |
marginWidth |
グリッドの右端および左端のマージンに使用されるピクセル数です。 |
marginHeight |
グリッドの上端および下端のマージンに使用されるピクセル数です。 |
numColumns |
グリッドを作成するために使用されるカラム数です。 |
verticalSpacing |
特定のセルの下端とその隣接セルの上端の間のピクセル数です。 |
GridLayout は、他にも、グリッド内の各ウィジェットに使用できる多数のレイアウト・パラメーターをサポートします。これらのプロパティーは GridData オブジェクト内で指定されます。グリッド内の 各ウィジェットのレイアウト・データとして GridData を 設定する必要があります。
GridData クラスが定義するスタイル定数を使用することにより、 GridData コンストラクター内で一般に使用されるレイアウト・パラメーターの組み合わせを指定することができます。 GridData の public メソッドを使用して、 これらの属性を個別に設定することもできます。
GridData を使用して、 より動的で複雑なレイアウトを行うことができます。グリッド内の各ウィジェットに対してこれらの値を微調整することにより、 レイアウトをさまざまに組み合わせることができます。 ウィジェットを複数のセルにスパンできる機能を使用すると、 グリッドと外観が異なるさまざまなレイアウトを作成することができます。
次の表に、GridData の 構成可能パラメーターの要約を示します。 詳細と、さまざまなグリッド・パラメーターを使用したサンプル画面捕そくについては、 『SWT のレイアウトの概要』を参照してください。
属性 |
説明 |
---|---|
grabExcessHorizontalSpace |
グリッド内で使用可能な水平方向の余分なスペースを使用するためにセルを拡大するかどうかを指定します。 ウィジェットおよびグリッド・データに基づいてグリッド内のセル・サイズを計算した後に、 コンポジットに残っている余分なスペースを、超過スペースを受け入れるセルに割り振ります。 |
grabExcessVerticalSpace |
グリッド内で使用可能な垂直方向の余分なスペースを使用するためにセルを拡大するかどうかを指定します。 |
heightHint |
ウィジェットの最小の高さ (つまり、ウィジェットを格納する行の最小の高さ) を指定します。 |
horizontalAlignment |
BEGINNING、CENTER、END、FILL のいずれかをとります。FILL を指定すると、 ウィジェットがそのグリッド・セルの幅全体を占めるようにサイズが設定されます。 |
horizontalIndent |
ウィジェットとグリッド・セルの左端の間のピクセル数です。 |
horizontalSpan |
ウィジェットが占めるグリッドのカラム数を指定します。 デフォルトでは、ウィジェットはグリッド内のセルを 1 つ占めます。 この値を大きくして、ウィジェットが占める水平方向のセルの数を増やすことができます。 |
verticalAlignment |
BEGINNING、CENTER、END、FILL のいずれかをとります。FILL を指定すると、 ウィジェットがそのグリッド・セルの高さ全体を占めるようにサイズが設定されます。 |
verticalSpan |
ウィジェットが占めるグリッドの行数を指定します。デフォルトでは、ウィジェットはグリッド内のセルを 1 つ占めます。 この値を大きくして、ウィジェットが占める垂直方向のセルを増やすことができます。 |
widthHint |
ウィジェットの最小の幅 (つまり、ウィジェットを格納するカラムの最小の幅) を指定します。 |