初次感受SWT
??? public class FirstSwt{
public static void main(String [] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.open();
// 開始事件處理循環,直到用戶關閉窗口
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
這是一個swt最基礎的程序,也是一個很基礎的模式,程序中首先定義了用Display display = new Display();定義了一個容器(component),然后用Shell shell = new Shell(display);定義了一個窗口(window),display是一個最大的容器,在此容器上可以放置很多shell,類似于awt的思想,每個組件自然就應該放置在shell中了。接下來的shell.open()將該shell打開,只有將shell打開之后,基于此shell上的組件才能被顯示出來。接下來的語句就是一個處理這個shell中事件的語句,在shell沒有被關閉前(shell.isDisposed()),系統會將所有的事件從事件隊列中取出,然后一個一個處理,如果沒有事件發生,則該display就處于sleep狀態,等待事件發生后將其喚醒。當shell關閉后,程序也就退出了。