Java桌面應用程式設計:SWT 簡介(轉)
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方法)。
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 Pet Store 2.0 應用程式簡介Java
- DirectShow應用程式設計介紹(翻譯) (轉)程式設計
- BeanShell桌面---Java應用程式指令碼引擎 (轉)BeanJava指令碼
- BASH SHELL 程式設計簡介(轉)程式設計
- Vector在Java程式設計中的應用 (轉)Java程式設計
- .NET泛型程式設計簡介 (轉)泛型程式設計
- 響應式程式設計簡介之:Reactor程式設計React
- 面向方面程式設計的Annotation簡介(轉)程式設計
- XML SOAP應用簡介 (轉)XML
- Java 超程式設計及其應用Java程式設計
- 用Java程式設計 請保持簡潔Java程式設計
- ADO程式設計應用 (轉)程式設計
- windows程式設計簡介Windows程式設計
- shell程式設計簡介程式設計
- swt 簡單的托盤程式
- IO程式設計和NIO程式設計簡介程式設計
- 使XML程式設計更簡單---JDOM介紹及程式設計指南 (轉)XML程式設計
- 實驗3 轉移指令跳轉原理及其簡單應用程式設計程式設計
- VC++串列埠程式設計之簡訊應用開發(轉)C++串列埠程式設計
- Linux下C語言程式設計簡介(轉)LinuxC語言程式設計
- shell程式設計—簡介(一)程式設計
- 結對程式設計簡介程式設計
- java設計模式一一設計模式的簡介和介紹Java設計模式
- Java設計模式簡介(總結)Java設計模式
- kylix 資料庫應用簡介 (轉)資料庫
- Linux下應用程式開發:QT開發簡介(轉)LinuxQT
- 桌面 Flutter 應用程式Flutter
- 移動應用程式開發簡介!
- Java程式設計——伺服器設計方案之應用限流Java程式設計伺服器
- Linux Shell程式設計(1)——shell程式設計簡介Linux程式設計
- SWT的視覺化控制元件的X11視窗控制程式碼簡介(轉)視覺化控制元件
- Scala 簡介 [摘自 Scala程式設計 ]程式設計
- Linux Socket 程式設計簡介Linux程式設計
- WebGL程式設計指南(1)簡介Web程式設計
- 簡析J2EE應用程式資料庫類設計模式 (轉)資料庫設計模式
- 用Java編寫一個最簡單的桌面程式Java
- 幾種設計模式簡介(轉載)設計模式
- 建立Java的應用程式(轉)Java