SWT布局管理器

2021-08-29 21:44:25 字數 3266 閱讀 6826

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