的。
SWT中的包SWT是Eclipse圖形API的基礎,本節將簡單介紹一下SWT中所包含的子包。
1、org.eclipse.swt.widgets
最常用的組件基本都在此包中,如Button、Text、Label、Combo等。其中兩個最重要的組件當數Shell和Composite:Shell相當于應用程序的主窗口;Composite相當于SWING中的Panel對象,是容納組件的容器。
2、org.eclipse.swt.layout
主要的界面布局方式在此包中。SWT對組件的布局也采用了AWT/SWING中的Layout和Layout Data結合的方式。
3、org.eclipse.swt.custom
對一些基本圖形組件的擴展在此包中,比如其中的CLabel就是對標準Label組件的擴展,在CLabel上可以同時加入文字和圖片。在此包中還有一個新的布局方式StackLayout。
4、org.eclipse.swt.event
SWT采用了和AWT/SWING一樣的事件模型,在包中可以找到事件監聽類和相應的事件對象。比如,鼠標事件監聽器MouseListener,MouseMoveListener等,及對應的事件對象MouseEvent。
5、org.eclipse.swt.graphics
此包中包含針對圖片、光標、字體或繪圖API。比如,可通過Image類調用系統中不同類型的圖片文件。
6、org.eclipse.swt.ole.win32
對不同平臺,SWT有一些針對性的API。例如,在Windows平臺,可以通過此包很容易的調用OLE組件,這使得SWT程序也可以內嵌IE瀏覽器或Word、Excel等程序。
此外還有org.eclipse.swt.dnd、org.eclipse.swt.printing、org.eclipse.swt.program、org.eclipse.swt.accessibility、org.eclipse.swt.browser、org.eclipse.swt.awt等包,在此不一一介紹了。這些包一般很少用到,只需要稍微了解一下就行了,不必深究。
用SWT Designer
???SWT Designer是優秀的SWT/JFace開發輔助工具
http://downloads.instantiations.com/Designer/release/v5.1.0_20060908125203/Designer_v5.1.0_win32_x86.exe
http://www.codefocus.cn/code/JAVA/SWT_Designer5.rar
codefocus.cn解壓
???SWT Designer還無法完成所有的界面設計工作,所以在界面開發中依然是以手工寫代碼為主,而且手寫代碼某些時候比界面拖拉操作更快捷。以下是筆者在使用SWT Designer開發界面時的基本流程:
l?????????? 新開一個臨時的Application文件,用SWT Desiger快速做好開發所需要的部份界面。
l?????????? 將自動生成的代碼移植到正式項目中,進行手工修改和代碼精簡。
另外,由于SWT Designer不是很穩定,所以在使用時還應注意:
l?????????? 不要在界面中加入太多組件。
l?????????? 不要頻繁的移動組件,或者刪除又添加組件,否則很可能因為內存耗盡而死機。