寫在前面的話 終於決定提起筆來寫一篇關於swt和JFace編程的文章。在開始之前,我想先介紹一下你能夠從將要出現的這一系列文章裡得到什麼,以及更重要的,你不能得到什麼。我們的時間是如此之重要,以至於我們很難容忍把它浪費在自己不關心的事情上。
因為我剛開始寫,所以到底這些文章會分成幾次發布出來,也很難講。但是我心裡大體有這樣一個提綱。也就是說,我打算介紹以下方面的內容:
·設定swt以及JFace的開發環境
·swt的一些簡單部件(widget)介紹
·JFace的一些入門性介紹
·swt和JFace的事件模式
·通過一些簡單的例子說明如何利用swt和JFace編寫圖形化應用程序
我還要說明一下你不能從本文中得到的信息,這些信息包括:
·swt和JFace相關內容非常深入的介紹:正如你從題目中了解到的,本文的定位是“入門”,也就是說假定的讀者是那些對swt和JFace開發沒有什麼了解的人。所以我並不打算進行一個深入的介紹。因為我相信在入門之後,他們能夠找到更好的資料(此外,我可能會寫另外一個系列文章來介紹)。
·eclipse的使用:我假定你在讀這篇文章的時候已經對eclipse有所了解,所以不會解釋到具體eclipse如何使用。
·eclipse插件開發:雖然eclipse插件開發和本文內容有著千絲萬縷的聯系,我決定還是不把它列為介紹的內容。這方面,你仍然可以找到相當多的資料供參考。
延伸閱讀 你不知道什麼是eclipse麼?你可以打開http://www.eclipse.org,這是eclipse的官方站點。
假如你希望對eclipse功能有具體的了解,你可以讀一下這本書《CONTRIBUTING TO ECLIPSE》。
你不知道什麼是swt/JFace麼?你可以看一下Wikipedia中的介紹:http://en.wikipedia.org/wiki/Swt
http://en.wikipedia.org/wiki/Eclipse_%28computing%29
最後你可以從一個地方得到所有你想要的東西:http://www.Google.com
介紹到此為止,下面我開始正文:
Hello,world!:搭建一個swt/JFace開發環境 在前面我曾經提到過:我們假定你對eclipse開發有一些了解。所以在這一節中,我將示范如何搭建一個swt/JFace開發環境,並且用一個老掉牙的Hello,world!程序作為示范。
建立開發環境 你完全可以不使用eclipse,而是使用別的IDE來進行開發,但是你需要有swt/JFace的一些庫文件。
為了能夠進行正常的swt/JFace開發,你需要做以下工作:
第一步:建立一個Java工程:因為這個是大家都非常熟悉的,所以就不再贅述,你可以建立一個任何名字的Java工程。
第二步:導入swt以及JFace的庫文件。這也就意味著:將swt/JFace相關的庫文件導入到工程的classpath中去。
需要的庫文件有哪些呢?打開eclipse安裝目錄下的plugins文件夾,我們需要找到以下jar文件:
·org.eclipse.swt_3.x.x.jar
·org.eclipse.jface_3.x.x.jar
·org.eclipse.core.runtime_3.x.x.jar
·org.eclipse.ui.workbench_3.x.x.jar
這就是我們搭建一個基本swt/JFace 程序所需要基本的一些庫文件了。其中3.x.x視你所使用的eclipse版本而定,譬如我的eclipse版本是3.1M6,這些3.x.x就是3.1.0。將他們加入你程序的classpath中。
為了更加清楚地說明如何做,你可以看一下下面的圖1。這是我在eclipse的做法:打開工程的properties對話框,然後選擇Java Build Path中的Libraries選項卡,將這些jar導入進來。當然你可以有自己的做法。
圖 1
第三步:為你的java程序添加本地庫文件。假如你使用windows的話,你可能注重到在eclipse的plugins目錄下還有一個org.eclipse.swt.win32_3.x.x.jar,將這個jar解壓以後在os/win32/x86目錄下有幾個dll文件。這幾個dll為swt通過JNI訪問windows本地API提供了接口,我們需要將使java程序在啟動時候即能夠訪問它。你可以有多種辦法實現這個目的:
最簡單的辦法就是直接把這幾個文件拷貝到你jre的bin目錄下
你也可以設定環境變量時候,在PATH中加入這幾個dll文件的目錄。
你還可以在運行程序時候指定java.library.path為這幾個dll所在的目錄,在eclipse中,假如你打開Help菜單中About eclipse Platform,然後在出現的對話框中選擇configuration details按鈕,你可以在接下來出現的對話框中找到java.library.path
配置java.library.path你還有另外一種辦法,就是在最後運行程序的時候,從Run菜單中選擇Run As..而不是Run As Java Application,填寫好必要的其他參數以後打開Argument選項卡,然後在VM Argument輸入框中填寫該參數為dll文件的路徑,如圖2所示