一個SWT應用程序的基本組成部分為顯示界面(Display)、命令界面(Shell,使命令進入并使運行初始化)和窗口部件(Widgets)。Display負責管理事件循環和控制UI線程和其他線程之間的通訊。Shell是應用程序中被操作系統窗口管理器管理的窗口。每個SWT應用程序至少需要一個Display和大于等于1個的Shell實例。

圖1:從不同的角度看SWT應用程序
圖1從不同的角度展示了SWT應用程序。左側的圖是一個簡化的UI對象的繼承圖。中間的圖展示了UI對象的容器結構(containment structure)。右側的圖則是創建后的UI外觀。
如果一個應用程序使用了多個線程,那么每個線程都使用的是Display對象分配給它自己的實例。程序員可以使用靜態方法Display.getCurent()來得到Display對象的當前活動的實例。
Shell用于在特定的操作系統中表現窗口。Shell可以最大化、最小化或正常化。Shell有兩種類型。第1種是高層shell,它是Display的子窗口,同時它也是一個主窗口。第2類是對話shell,這種shell要依賴于其他的shell窗口存在。shell窗口最終成為上述那種類型,要看在創建shell時傳遞給shell構造函數的是什么風格位(style bits)。一個shell的默認值是DialogShell。也就是說,如果不帶參數,那默認就是一個對話shell。而如果給參數賦予了一個Display對象,則該shell將是一個高層shell。
一些窗口部件的屬性必須在創建它們的初期就要被設置。這些窗口部件的屬性就是前面所說的風格位(style bits)。在SWT的類中,風格位被定義為常數。例如,Button button = new Button( shell, <styleBits> )。可以使用或(OR)操作符“|”來設置多個風格位。例如,如果想設置一個帶邊界的壓下按鈕,需要傳遞SWT.PUSH | SWT.BORDER作為風格位參數。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/bnlovebn/archive/2011/06/14/6543693.aspx