初次感受SWT
??? public class FirstSwt{
public static void main(String [] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.open();
// 開(kāi)始事件處理循環(huán),直到用戶關(guān)閉窗口
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
這是一個(gè)swt最基礎(chǔ)的程序,也是一個(gè)很基礎(chǔ)的模式,程序中首先定義了用Display display = new Display();定義了一個(gè)容器(component),然后用Shell shell = new Shell(display);定義了一個(gè)窗口(window),display是一個(gè)最大的容器,在此容器上可以放置很多shell,類(lèi)似于awt的思想,每個(gè)組件自然就應(yīng)該放置在shell中了。接下來(lái)的shell.open()將該shell打開(kāi),只有將shell打開(kāi)之后,基于此shell上的組件才能被顯示出來(lái)。接下來(lái)的語(yǔ)句就是一個(gè)處理這個(gè)shell中事件的語(yǔ)句,在shell沒(méi)有被關(guān)閉前(shell.isDisposed()),系統(tǒng)會(huì)將所有的事件從事件隊(duì)列中取出,然后一個(gè)一個(gè)處理,如果沒(méi)有事件發(fā)生,則該display就處于sleep狀態(tài),等待事件發(fā)生后將其喚醒。當(dāng)shell關(guān)閉后,程序也就退出了。
posted on 2006-11-08 21:36 何晏成 閱讀(2254) 評(píng)論(23) 編輯 收藏