SWT/JFace開發入門指南(六)

使用Layout管理UI佈局

我們在前面在一些例子中已經使用過Layout了。那麼Layout到底是做什麼的呢?

我 們知道,在設計用戶界面時候,我們可以採用的一種辦法是手動的爲每個部件設置合適當大小和位置。但是這樣的話,如果你所要顯示的部件比較多,編程量就會非 常大,特別是考慮到窗體大小變化時候各種部件的重繪。而實際上,我們可以利用一些通用的規則或者說算法來安排這些部件的排列。比如下圖所示的這個窗體:

10

很顯然,對於這些規則化的部件排列,應該有一些更簡單的辦法,而不是在代碼的各個部分寫xxx.setBounds之類。swt給我們提供了這樣的辦法,就是使用Layout

你可以把一個Layout看成是安排部件位置和大小的一個規則,在應用了LayoutComposite(我們在這裏第一次提到了CompositeComposite就是一個能夠包含其他控件的容器,比如Shell就是一個Composite,我們會在後面的部分詳細介紹Composite)中,所有的子控件都會按照這個規則來進行排列。

在目前(寫這篇文章的時候eclipse最新版本是3.1M7),org.eclipse.swt.layout包中包含四種已經定義好的Layout,它們分別是:FillLayoutFormLayouGridLayoutRowLayout。我在這裏不再一一作介紹,而是推薦大家看一下這篇文章《Understanding Layouts in SWT》。相信如果你有興趣看完它的話,就會對Layout有比較深的瞭解。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章