0.序言
還是老風(fēng)格,從頭寫些基本的東西,幫助自己,也幫助正處于困惑中的別人。今天介紹的是Eclipse下的SWT的配置過程。自己前兩天要做個項目,配置了半天都不正確,后來慢慢總結(jié)了一下,不同環(huán)境配置的方法可能略有差別吧。
1.什么是SWT
用java的人一定都知道AWT和Swing,而SWT(Standard Widget
Toolkit)則是由Eclipse項目組織開發(fā)的一套完整的圖形界面開發(fā)包,雖然當(dāng)初僅僅是IBM為了編寫Eclipse的IDE環(huán)境才編寫的一套底
層圖形界面
API,但是隨著Eclipse的大范圍使用,人們也開始對這套GUI開發(fā)包做了深入的研究,并且不少人都開始轉(zhuǎn)向SWT的使用。也許有人會問,既然有了
Swing,
那為什么還要SWT?答案很簡單,因為人們的理念不同。SWT的原理是根據(jù)運行者的操作系統(tǒng)不同調(diào)用JNI來完成圖形界面的繪制的,如果你用的是
Windows,那么建立的窗口就是windows風(fēng)格的,還可以用XP的皮膚,如果是Linux或者M(jìn)acOS的話,則在代碼不改變的情況下,繪制出相
應(yīng)風(fēng)格的界面。而Swing則是完全從底層開始自己“手繪”界面的,這也就導(dǎo)致了速度比較慢和工人的“風(fēng)格詭異”的問題。當(dāng)然,由于Sun的強(qiáng)大推動力和
AWT/Swing的普及,很多人仍然在使用Swing作為首選的GUI開發(fā)工具包。引用一句話做比喻:Swing就像Java決定不通過操作系統(tǒng)來實現(xiàn)
原生的IO,而是通過磁頭馬達(dá)API自己來讀磁盤的扇區(qū)。Swing基本上就是這樣的,它拿著個底層的“paint(Graphics)”方法,自己來繪
制所有的窗口組件。
2.下載與安裝
Eclipse本身就自帶了SWT的相關(guān)jar包,所以不用下載,除非你想看看SWT的源碼,當(dāng)然這對于開發(fā)者來說是很有好處的。另外,如果不喜歡自己手
寫GUI代碼的話就去下載一個可視化開發(fā)插件吧,目前比較常用的是WindowBuilder Pro(原來的swt designer),http://www.instantiations.com/windowbuilderpro/左側(cè)點Download里面就可以下載,根據(jù)不同的Eclipse版本,選擇相應(yīng)的文件,必須要說明的,這是一個商業(yè)軟件,需要注冊(這也就以為著有注冊機(jī)可以下載,注冊機(jī)的地址就不多說了,上網(wǎng)搜一下就可以了)。下載完成后,安裝即可。
3.配置
我下載的是zip版,解壓縮之后直接拷貝到插件目錄下的,所以配置起來有些麻煩,之前貌似用過一個二進(jìn)制安裝程序版的,安裝完之后基本上不需要配置就可以用了。這里講解一下我配置的過程。
打開Eclipse,新建,在新建向?qū)е校业絊WT/JFace Java Project,單擊Next。

接下來輸入項目名稱,選擇JRE(一般默認(rèn)即可),單擊Next,在這一步中,選中Libraries選項卡,單擊Add External JARs,添加外部jar包。

這里一共要添加6個,在你的Eclipse的插件(plugins)目錄中,分別是:
org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar;
org.eclipse.swt_3.2.1.v3235e.jar;
org.eclipse.core.commands_3.2.0.I20060605-1400.jar;
org.eclipse.jface.text_3.2.1.r321_v20060810.jar;
org.eclipse.jface_3.2.1.M20060908-1000.jar;
org.eclipse.equinox.common_3.2.0.v20060603.jar
根據(jù)版本不同,文件名的數(shù)字部分可能會有些不同,添加好后就可以單擊finish了。
這時就建立好一個SWT項目了,但是別著急,如果這時按照Run as Java
Application的形式運行你的SWT程序的話很可能會提示:Exception in thread "main"
java.lang.UnsatisfiedLinkError: no swt-win32-3235 in
java.library.path。這是由于沒有導(dǎo)入SWT原生庫的緣故。因此我們要右鍵單擊項目,選擇Import,接下來選擇General-〉
File
System來導(dǎo)入它,這個swt-win32-3235以dll文件的形式存在于..\MyEclipse\eclipse\plugins
\org.eclipse.swt.win32.win32.x86_3.2.1.v3235中,通過Browse按鈕選擇這個目錄,然后在窗口左邊選中
這個目錄,在右邊的文件中選中swt-win32-3235.dll這個文件,finish就可以了。

4.測試
在新建好的項目中單擊右鍵,選擇新建,Designer->JFace->ApplicationWindow,填入新建的類名稱和包就可以
新建一個ApplicationWindow了,系統(tǒng)會自動建立好相應(yīng)的代碼框架,選擇Run as Java
Application,就可以運行這個自動生成的SWT程序了。
5.結(jié)束語
說實在的,SWT有很多值得研究的東西,包括Eclipse的插件開發(fā)相關(guān)技術(shù),當(dāng)然以后有時間會把學(xué)習(xí)心得寫出來的。這篇文章只是簡單的介紹了SWT的配置過程,如果需要了解SWT相關(guān)技術(shù)可以查詢相關(guān)資料。