SWT的介紹(配置,打包步驟)

SWT的介紹(附加:Eclicpse3.1.1下配置SWT,打包發佈SWT程序,轉EXE一條龍過程記錄)

swt

 

一、SWT的介紹

 

(使用SWT在各個操作系統上的效果)

 

SWT(Standard Widget Toolkit)
  Standard Widget Toolkit是一個開源的GUI編程框架,與AWT/Swing有相似的用處,著名的開源IDE-eclipse就是用SWT開發的。
  在SWT之前,Sun已經提供了一個跨平臺GUI開發工具包AWT (Abstract Windowing Toolkit). 雖然AWT框架也使用的是原生窗口部件(native widgets),但是它一直未能突破LCD問題。LCD問題導致了一些主要平臺特徵的遺失。
  爲解決這個問題,Sun又創建了一個新的框架。這個框架不再使用原生窗口部件,而是使用仿真窗口部件(emulated widgets)。這個方法雖然解決了LCD問題,並且提供了豐富的窗口部件集,但是它也帶來了新的問題。例如,Swing應用程序的界面外觀不再和原生應用程序的外觀相似。雖然在JVM中這些Swing應用程序已經得到了最大程度的性能改善,但是它們還是存在着其原生對應物所不具有的性能問題。並且,Swing應用程序消耗太多的內存,這樣Swing不適於一些小設備,如PDA和移動電話等。
  IBM進行了嘗試以徹底解決AWT和Swing框架帶來的上述問題。最終,IBM創建了一個新的GUI庫,這就是SWT。SWT框架通過JNI來訪問原生窗口部件。如果在宿主(host)平臺上無法找到一個窗口部件,SWT就會自動地模擬它。
  爲了方便開發SWT程序,在SWT基礎上又創建了一個更易用、功能強大的圖形包“JFace”。然而,JFace並不能完全覆蓋SWT的所有功能,所以編程時SWT、JFace都會要用到,但是一般來說,能用JFace的組件就最好不要用SWT的。
  SWT本身僅僅是Eclipse組織爲了開發Eclipse IDE環境所編寫的一組底層圖形界面 API。或許是無心插柳,或是有意爲之,至今爲止,SWT無論是在性能和外觀上,都超越了SUN公司提供的AWT和SWING。目前SWT已經十分穩定。這裏指的穩定應該包含兩層意思:
  一是指性能上的穩定,其中的關鍵是源於SWT的設計理念。SWT最大化了操作系統的圖形構件API,就是說只要操作系統提供了相應圖形的構件,那麼SWT只是簡單應用JNI技術調用它們,只有那些操作系統中不提供的構件,SWT才自己去做一個模擬的實現。可以看出SWT的性能上的穩定大多時候取決於相應操作系統圖形構件的穩定性。

  另一個穩定是指SWT API包中的類、方法的名稱和結構已經少有改變,程序員不用擔心由於Eclipse組織開發進度很快(Eclipse IDE每天都會有一個Nightly版本的發佈),而導致自己的程序代碼變化過大。從一個版本的SWT更新至另一版本,通常只需要簡單將SWT包換掉就可以了。

 

 
二、Eclicpse3.1.1下配置SWT,打包發佈SWT程序,轉EXE一條龍過程記錄
原文:http://songdi.spaces.live.com/blog/cns!ee52cc79737cf30e!346.entry


一、Eclipse下安裝SWT
****SWT 類庫的下載和安裝
下載 SWT 3.3 M5 swt-3.3M5-win32-win32-x86.zip( Windows 版本):
使用eclipse3.3的好處是它運行的時候不需要再指定library 路徑了.

然後參考 Developing SWT applications using Eclipse 一文中的說明搭好基於 Eclipse 的開發環境(以下爲文章內容的中文翻譯):

因爲 SWT 被集成爲 Eclipse plug-in API 的一部分, 獨立運行的應用程序開發最好基於 SWT 獨立版的下載. 這個文檔講幫助你安裝.

首先, 從SWT主頁下載適於您的平臺的 SWT 的.zip 文件.

SWT .zip 文件可以導入到你的工作區. 選擇 File 菜單, 然後選擇 Import , 選中 Existing Projects Into Workspace 嚮導. (新版本的 eclipse 中, 你可以在 General 分類下找到 Existing Projects Into Workspace).
 

定位嚮導裏面的路徑到你下載的 .zip 文件所在的目錄. 這將會在工作區裏創建一個名爲 org.eclipse.swt 的工程.
 

您自己的 Java 項目可以將 SWT 項目作爲依賴添加進來. 打開Java 項目的 Properties 對話框, 在 Java Build Path 設置頁中, 包含 org.eclipse.swt 項目.
 

將 SWT 項目作爲依賴項, 你可以使用 Eclipse 的一些方便的功能例如 Javadoc 視圖和代碼提示(code assist).
 

現在你可以在你的項目中運行任何的主類, 通過選中類然後選擇菜單 Run > Run As > Java Application.

二、打包發佈SWT程序
1.因爲需要SWT的jar.但是Eclipse3.1.1配合的的SWT不是通過SWT.jar發佈的!是org.eclipse.swt.win32.win32.x86_3.1.0.jar。裏面包括了JINI的DLL和SWT類文件。
需要下載
http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.1.1-200509290840/swt-3.1.1-win32-win32-x86.zip
這裏有SWT.jar,和3個DLL,把他們解壓縮出來,備用!
2.通過Eclipse的導出功能,生成一個可執行的jar,MANIFEST.MF文件選擇由Eclipse生成,並且保存到項目中。
3.上面2的步驟,只是爲了得到MANIFEST.MF文件。下面修改一下這個文件。
加上 Class-Path SWT.jar
如果還有其他的jar,用空格分開,加到後面
4.再生成一次jar,MANIFEST.MF選擇修改後的。
5.將打包的jar,SWT.jar,3個DLL放到一個文件夾下,雙擊可執行的jar,程序運行!
三jar轉EXE
1.打開JSmooth0.9.7。
2.選擇skeleton,在skeleton properties中先把Launch java app in the exe process,Debug console選中。可以查看生成EXE文件執行過程信息。
3.選擇Executable.
選擇生成的EXE文件存放位置。
選擇EXE文件圖標
設置當前路徑,選擇要轉換的jar文件所在文件夾
4.選擇Application
設置Main Class,可執行jar中的Main Class注意寫類全名
設置Application Argument,如果需要傳入參數,寫到這裏
設置Embedded jar: 可執行的jar
設置Classpath:SWT.jar 如果有其他的繼續添加
5.選擇JVM Selection。默認吧。
6.JVM Configuration:
可以設置java properties,內存使用
7.點齒輪。生成!看是否有錯誤。
8.EXE執行需要的文件:EXE,3個DLL,SWT.jar
把他們考到其他目錄,一樣可以執行!
9.去掉skeleton properties中的Launch java app in the exe process,Debug console選項。
重新生成。應該OK了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章