Java桌面應用程式設計:SWT 簡介(轉)

ba發表於2007-08-11
Java桌面應用程式設計:SWT 簡介(轉)[@more@]Java語言的聲望和它在桌面應用程式(GUI程式)所取得的成就顯然極不相符,至今仍然很少能看到非常成功Java桌面程式。雖然有JBuilder,Netbean,JProbe等大型軟體作為代表,但這仍不能證明Java的GUI程式是成功的:它們的外觀總是和同一作業系統平臺下的其它軟體顯得格格不入。對機器配置的需求也似乎永無止境,這使得它們只能被一些總是擁有當前最高效能PC的程式設計師們所容忍,或是那些不在乎金錢和時間的專業使用者所接受。對絕大多數計算機使用者來說,AWT或SWING代表著怪異的介面和無法接受的速度。Standard Widget Toolkit(SWT)或許是Java這一噩夢的終結者,廣大Java程式設計師終於可以開發出高效率的GUI程式,它們擁有標準的外觀,幾乎沒有人能看出你的程式是用Java寫出來的,更為重要的是,這些程式是跨平臺的。
  
  SWT本身僅僅是Eclipse組織為了開發Eclipse IDE環境所編寫的一組底層圖形介面 API。或許是無心插柳,或是有意為之,至今為止,SWT無論是在效能和外觀上,都超越了SUN公司提供的AWT和SWING。目前Eclipse IDE已經開發到了2.1版本,SWT已經十分穩定。這裡指的穩定應該包含兩層意思:
  
  一是指效能上的穩定,其中的關鍵是源於SWT的設計理念。SWT最大化了作業系統的圖形構件API,就是說只要作業系統提供了相應圖形的構件,那麼SWT只是簡單應用JNI技術呼叫它們,只有那些作業系統中不提供的構件,SWT才自己去做一個模擬的實現。可以看出SWT的效能上的穩定大多時候取決於相應作業系統圖形構件的穩定性。
  
  另一個穩定是指SWT API包中的類、方法的名稱和結構已經少有改變,程式設計師不用擔心由於Eclipse組織開發進度很快(Eclipse IDE每天都會有一個Nightly版本的釋出),而導致自己的程式程式碼變化過大。從一個版本的SWT更新至另一版本,通常只需要簡單將SWT包換掉就可以了。
  
  第一個SWT程式
  下面讓我們開始一個SWT程式。(注意:以下的例子和說明主要針對Windows平臺,其它的作業系統應該大同小異)。首先要在Eclipse安裝檔案中找到SWT包,Eclipse組織並不提供單獨的SWT包下載,必須下載完整的Eclipse開發環境才能得到SWT包。SWT是作為Eclipse開發環境的一個外掛形式存在,可以在${你的eclipse安裝路徑}plugins路徑下的眾多子目錄下去搜尋SWT.JAR檔案,在找到的JAR檔案中包含了SWT全部的Java類檔案。因為SWT應用了JNI技術,因此同時也要找到相對應的JNI本地化庫檔案,由於版本和操作平臺的不同,本地化庫檔案的名稱會有些差別,比如SWT-WIN32-2116.DLL是Window平臺下Eclipse Build 2116的動態庫,而在Unix平臺相應版本的庫檔案的副檔名應該是.so,等等。注意的是,Eclipse是一個開放原始碼的專案,因此你也可以在這些目錄中找到SWT的原始碼,相信這會對開發很有幫助。下面是一段開啟空視窗的程式碼(只有main方法)。
  
  
QUOTE:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947333/,如需轉載,請註明出處,否則將追究法律責任。

Java桌面應用程式設計:SWT 簡介(轉)
請登入後發表評論 登入
全部評論

相關文章