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 就是把邊界劃分為東西南北中,南北要貫通,中間最大,不僅指地方最大,也指權利最大,當東西南北不存在時可占領他們,也就是說中間是可以占領周邊的,但周邊是絕不能占領中間的。邊...