GridLayout 是更有力且更複雜的佈置之一。 GridLayout 在格線中佈置 Widget,提供了許多可配置參數, 來控制調整組合大小時,設定格線列和直欄大小的行為。
GridLayout 定義控制整體佈置策略的 API。最重要的屬性為 numColumns,它可決定格線 的水平大小。通常您在第一次設定視窗外觀時決定此值。格線中 Widget 的順序與您建 立它們的順序相同。若要變更格線中 Widget 的順序,您可以使用 Control 方法 moveAbove(Control) 和 moveBelow(Control)。這些方法可讓 Widget 在佈置中插入彼此的前的後。("above" 和 "below" 代表 Widget Z 順序,不是格線本身的位置。)
下表彙總 GridLayout 的可配置參數:
屬性 |
說明 |
---|---|
horizontalSpacing |
一個資料格右邊緣及其鄰接資料格左邊緣之間的圖素數目。 |
makeColumnsEqualWidth |
指定所有直欄是否強制為相同寬度。 |
marginWidth |
用於格線右邊緣和左邊緣上邊距的圖素數目。 |
marginHeight |
用於格線上邊緣和下邊緣上邊距的圖素數目。 |
numColumns |
用來製作格線的直欄數。 |
verticalSpacing |
一個資料格下邊緣及其鄰接資料格上邊緣之間的圖素數目。 |
GridLayout 支援格線中每一個 Widget 其他許多佈置參數。這些內容是在 GridData 物件中指定。您必須在格線中對每一個 Widget 將 GridData 設為佈置資料。
GridData 類別定義讓您在 GridData 建構子中指定常用佈置參數組合的樣式常數。您也可以在 GridData 中使用 public 方法來個別設定這些屬性。
您可以使用 GridData 來達到一些高度動態且複雜的佈置。對格線中不同的 Widget 轉換這些值,會產生不同的 佈置組合。讓 Widget 跨越資料格的功能會產生許多甚至不像格線的佈置。
下表彙總 GridData 的可配置參數。 如需進一步說明,以及使用各種格線參數的範例圖示, 請參閱了解 SWT 中的佈置。
屬性 |
說明 |
---|---|
grabExcessHorizontalSpace |
指定是否加大資料格來使用格線中任何可用的額外水平空間。依據 Widget 及其格線資 料計算格線中的資料格大小後,「組合」中剩餘的任何額外空間會配置給佔據過多空 間的那些資料格。 |
grabExcessVerticalSpace |
指定是否加大資料格來使用格線中任何可用的額外垂直空間。 |
heightHint |
指定 Widget 的最小高度(使適合包含它的列)。 |
horizontalAlignment |
可以是 BEGINNING、CENTER、END、FILL 其中之一。 FILL 表示將調整 Widget 大小使佔滿其格線資料格的整個寬度。 |
horizontalIndent |
Widget 及其格線資料格左邊緣之間的圖素數目。 |
horizontalSpan |
指定格線中 Widget 將跨過的直欄數。依預設,Widget 會佔滿格線中一個資料格。可藉由增加此值依水平方向佔滿其他資料格。 |
verticalAlignment |
可以是 BEGINNING、CENTER、END、FILL 其中之一。 FILL 表示將調整 Widget 大小使佔滿其格線資料格的整個高度。 |
verticalSpan |
指定格線中 Widget 將跨過的列數。依預設,Widget 會佔滿格線中一個資料格。可藉由 增加此值依垂直方向佔滿其他資料格。 |
widthHint |
指定 Widget 的最小寬度(使適合包含它的直欄)。 |