SWT JFace開發入門指南(六)

2021-04-02 23:19:38 字數 935 閱讀 9071

我們在前面在一些例子中已經使用過

layout

了。那麼

layout

到底是做什麼的呢?

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

圖10

很顯然,對於這些規則化的部件排列,應該有一些更簡單的辦法,而不是在**的各個部分寫

***.setbounds

之類。swt

給我們提供了這樣的辦法,就是使用

layout。

你可以把乙個

layout

看成是安排部件位置和大小的乙個規則,在應用了

layout

的composite

(我們在這裡第一次提到了

composite

,composite

就是乙個能夠包含其他控制項的容器,比如

shell

就是乙個

composite

,我們會在後面的部分詳細介紹

composite

)中,所有的子控制項都會按照這個規則來進行排列。

在目前(寫這篇文章的時候

eclipse

最新版本是

3.1m7

),org.eclipse.swt.layout

包中包含四種已經定義好的

layout

,它們分別是:

filllayout

,formlayou

,gridlayout

和rowlayout

understanding layouts in swt

layout

有比較深的了解。

SWT JFace開發入門指南(八)

我們已經有了 swt,我們用 swt可以寫出乙個完整的程式來,那麼我們為什麼需要 jface 呢?對於這一點,本文作者 就是我了,嘿嘿 的理解是 使用 jface 比只是單純地使用 swt程式設計更加簡單,或者說 量更少。畢竟,你完全可以用彙編寫乙個使用者介面,但是付出的代價似乎大了一點 p。如果你...

SWT Jface開發入門指南 十一

前一節中我們簡單介紹了一下 action 其實所謂的 action 就是乙個最常用的事件,舉個例子來說,對於乙個按鈕來說它可以有多個事件,比如按鍵,焦點,滑鼠,等等等等吧,但是實際上在使用程式的時候,我們最關心的,就是按下去這個按鈕會發生什麼,這個其實就是所謂的 action 如果大家以前做過 sw...

SWT Jface開發入門指南 十一

前一節中我們簡單介紹了一下 action 其實所謂的 action 就是乙個最常用的事件,舉個例子來說,對於乙個按鈕來說它可以有多個事件,比如按鍵,焦點,滑鼠,等等等等吧,但是實際上在使用程式的時候,我們最關心的,就是按下去這個按鈕會發生什麼,這個其實就是所謂的 action 如果大家以前做過 sw...