介紹JFace、Swing、AWT和SWT
今天發(fā)現(xiàn)Jigloo畫(huà)出來(lái)的界面很好。使用GridLayout。記錄下來(lái),以后研究。
Jigloo 是一個(gè) Eclipse 插件,使您可以快速構(gòu)建在 Java™ 平臺(tái)上運(yùn)行的復(fù)雜圖形用戶界面 (GUI).
jigloo能使用swing 或swt開(kāi)發(fā)桌面程序。
SWING、AWT和SWT
基于Java的圖形庫(kù)最主要的有三種,它們分別是Swing、AWT和SWT。其中前兩個(gè)是Sun隨JDK一起發(fā)布的,而SWT則是由IBM領(lǐng)導(dǎo)的開(kāi)源項(xiàng)目(現(xiàn)在已經(jīng)脫離IBM了)Eclipse的一個(gè)子項(xiàng)目。SWT的執(zhí)行效率非常高。這是由于SWT的底層是由C編寫(xiě)的。由于SWT通過(guò)C直接調(diào)用系統(tǒng)層的GUI API。因此,使用SWT編寫(xiě)GUI程序,在外觀上就和使用C++、Delphi(在Windows下)編寫(xiě)的程序完全一樣。它的這一點(diǎn)和AWT類似。 AWT在底層也是使用C直接調(diào)用系統(tǒng)層的GUI API。但它們是有區(qū)別的,最大的區(qū)別可能就是一個(gè)是Sun提供的,一個(gè)是Eclipse自帶的。這就意味著假如使用AWT,只要機(jī)器上安裝了JDK或 JRE,發(fā)布軟件時(shí)無(wú)需帶其它的庫(kù)。而如何使用SWT,在發(fā)布時(shí)必須要自帶上SWT的*.dll(Windows版)或*.so(Linux/Unix 版)文件以及相關(guān)的*.jar包。還有就是它們所提供的圖形接口有一些差異。SWT可能更豐富一些,我們可以看看Eclipse的界面就知道了。但隨著 Sun對(duì)AWT庫(kù)的不斷更新,AWT的圖形表現(xiàn)能力也在不斷地提高。
JFace
雖然SWT很強(qiáng)大,但它比較底層。也就是說(shuō)它的一些功能在使用上還比較低級(jí),不太符合面向?qū)ο蟮奶卣?。因此,?SWT的基礎(chǔ)上又開(kāi)發(fā)了JFace。JFace在SWT上進(jìn)行了一定的擴(kuò)展。因此,也可說(shuō)JFace是基于SWT的,就象在VC中使用MFC來(lái)包裝 Win32 API一樣。 以上是介紹SWING、AWT和SWT。
【編輯推薦】