使用
Layout
管理
UI
布局
我們?cè)谇懊嬖谝恍├又幸呀?jīng)使用過
Layout
了。那么
Layout
到底是做什么的呢?
我們知道,在設(shè)計(jì)用戶界面時(shí)候,我們可以采用的一種辦法是手動(dòng)的為每個(gè)部件設(shè)置合適當(dāng)大小和位置。但是這樣的話,如果你所要顯示的部件比較多,編程量就會(huì)非常大,特別是考慮到窗體大小變化時(shí)候各種部件的重繪。而實(shí)際上,我們可以利用一些通用的規(guī)則或者說算法來安排這些部件的排列。比如下圖所示的這個(gè)窗體:
圖
10
很顯然,對(duì)于這些規(guī)則化的部件排列,應(yīng)該有一些更簡單的辦法,而不是在代碼的各個(gè)部分寫
xxx.setBounds
之類。
swt
給我們提供了這樣的辦法,就是使用
Layout
。
你可以把一個(gè)
Layout
看成是安排部件位置和大小的一個(gè)規(guī)則,在應(yīng)用了
Layout
的
Composite
(我們?cè)谶@里第一次提到了
Composite
,
Composite
就是一個(gè)能夠包含其他控件的容器,比如
Shell
就是一個(gè)
Composite
,我們會(huì)在后面的部分詳細(xì)介紹
Composite
)中,所有的子控件都會(huì)按照這個(gè)規(guī)則來進(jìn)行排列。
在目前(寫這篇文章的時(shí)候
eclipse
最新版本是
3.1M7
),
org.eclipse.swt.layout
包中包含四種已經(jīng)定義好的
Layout
,它們分別是:
FillLayout
,
FormLayou
,
GridLayout
和
RowLayout
。我在這里不再一一作介紹,而是推薦大家看一下這篇文章《
Understanding Layouts in SWT
》。相信如果你有興趣看完它的話,就會(huì)對(duì)
Layout
有比較深的了解。
?
?
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=376421