SWT布局管理器

2021-05-21 22:17:00 字數 3315 閱讀 3762

filllayout

充滿式布局管理器,元件的大小會盡量的充滿整個容器。

rowlayout

,行列式布局管理器,簡單的排列元件

gridlayout

,網格式布局管理器,非常強大,可以勝任所有的布局。

formlayout

,**是布局管理器,通過建立元件各個邊的距離來布局元件,和

gridlayout

一樣強大。

stacklayout

,堆疊式

gridlayout

,像書頁一樣,只顯示最前面的元件。

filllayout

是最簡單的布局類,把元件擺成一行或一列,並強制元件的大小一致,元件的高度與最高元件一直,寬度 與最寬元件一致。簡單的說,它裡面的元件會盡量的充滿這個容器。 ø

不能折行。 ø

預設排列是

horizontal

,使用swt .vertical

更改。將

new filllayout()

改為new filllayout(swt .vertical)

。或filllayout.type = swt .vertical;

ø filllayout.spacing = 5;

設定元件間的距離 ø

filllayout.marginheight = 10;

設定邊界距離(上下) ø

filllayout.marginwidth = 15;

設定邊界距離(左右)

rowlayout

可以使元件折行顯示,也可設定邊界距離和間距。還可以通過對每個元件

setlayoutdata

方法設定

rowdata

物件,rowdata

來設定元件的大小。

rowlayout

預設不強制每個元件大小相同。 ø

rowlayout.wrap = false;

設定不能自動折行,預設為

true

ø rowlayout.pack = false;

設定元件的大小相同,預設為

true

,即不相同。 ø

rowlayout.justify = true;

設定元件可以根據空間伸展。預設為

false 。

ø rowlayout.type = swt .vertical;

排列方式,預設為

horizontal

ø rowlayout.marginleft = 5;

距離容器左邊緣的距離 ø

rowlayout.margintop = 5;

距離容器上邊緣的距離 ø

rowlayout.marginright = 5;

距離容器右邊緣的距離 ø

rowlayout.marginbottom = 5;

距離容器下邊緣的距離 ø

rowlayout.spacing = 0;

設定元件間的距離 ø

rowlayout.marginheight

;設定邊界距離(上下) ø

rowlayout.marginwidth

;設定邊界距離(左右) ø

對元件setlayoutdata

方法設定

rowdata

,來設定元件的大小。

new rowdata(int width, int height)

gridlayout

的布局方式是把容器裡的元件擺放在乙個個格仔裡。通過

griddata

來設定每乙個元件的外觀形狀。 ø

gridlayout.numcolumns = 3;

設定列數,預設為1

øgridlayout.makecolumnsequalwidth = true;

把元件等距分開,預設為

false

ø 可設定邊界距離和間距,與其他布局管理器類似。 ø

griddata

ü griddata.horizontalspan

。設定元件佔的列數 ü

horizontal_align_fill

對齊式充滿,讓元件充滿所佔的空間。

new griddata

(griddata. horizontal_align_fill )

ü fill_horizontal

,水平搶占式充滿,將所有水平方向的空閒空間都沾滿 ü

griddata.fill_both

雙向搶占式 ü

griddata.horizontalalignment=griddata.center | griddata.beginning | griddata.end | griddata.fill

ü griddata.horizontalindent

,使元件右移指定長度。 ü

griddata.widthhint

,griddata.heiththint

可以設定元件的高度和寬度,前提是不能與

gridlayout

的其他設定矛盾。

stacklayout

ü 設定最上層顯示的元件,並將介面重新整理,否則顯示不出來。

stacklayout.topcontrol=controltodisplay

;container.layout();

formlayout

不會像

gridlayout

一樣因容器大小變化而導致布局錯位。ü

new formdata(int width

,int height) ü

new formattachment(int numerator, int offset)

。定位於容器

numerator

百分比,偏移

offset。

ü new formattachment(control control, int offset, int allignment)

。相對於元件

control

的某個方向 (

swt .top, swt .bottom, swt .left, swt .right),

偏移offset。

ü formdata.top | formdata.left | formdata.bottom | formdata.right = formattachment;

SWT布局管理器

filllayout 充滿式布局管理器,元件的大小會盡量的充滿整個容器。rowlayout 行列式布局管理器,簡單的排列元件 gridlayout 網格式布局管理器,非常強大,可以勝任所有的布局。formlayout 是布局管理器,通過建立元件各個邊的距離來布局元件,和 gridlayout 一樣強...

布局管理器 網格袋布局管理器

網格袋布局管理器中的約束條件constrains中有如下字段需要設定 1 constrains.gridx和constrains.gridy 這兩個欄位僅用於指定元件的起始網格座標。2 constrains.gridwidth和constrains.gridheight 這兩個字段用於指定元件所佔網...

布局管理器

jframe 內容面板在預設的情況下自動使用邊界布局管理器。1.邊界布局 borderlayout 所謂的borderlayout 就是把邊界劃分為東西南北中,南北要貫通,中間最大,不僅指地方最大,也指權利最大,當東西南北不存在時可占領他們,也就是說中間是可以占領周邊的,但周邊是絕不能占領中間的。邊...