當前位置:編程學習大全網 - 編程語言 - 問問企業Java開發者,java語言的各種界面編程組件:swing、awt、swt、jsf、jface都用哪種比較多,如果有高

問問企業Java開發者,java語言的各種界面編程組件:swing、awt、swt、jsf、jface都用哪種比較多,如果有高

jsf是表示層的框架,主要是web界面方面的應用;而其他的都屬於桌面UI庫,與前者不同,在此不做比較。

AWT是java早期版本使用的UI庫,為了跨平臺,它指提供各個平臺上支持的組件的最大公約數集合..比如蘋果操作系統並不支持按鈕的圖片展示,於是AWT的按鈕是無法使用圖片的;AWT的實現是以本機對等體的方式來實現的,即壹個Button對象則對應於本機壹個窗口組件(利用本地程序實現映射),於是AWT組件與本地組件長得是壹模壹樣的。

SWING則是基於AWT的基礎上做了許多擴展,它提供的是各種平臺上支持的組件的最小公倍數集合..在設計上使用了MVC(分UI、Component、Model),除了窗口之外,其大部分組件都使用Java2D來實現渲染模擬,也因為如此,Swing在渲染方面的靈活性非常大。

SWT是IBM公司針對Java桌面UI開發出來的另壹個分支,它的實現方式與AWT類似,都使用了本機對等體的實現,於是它的組件也與本機組件非常雷同;此外它遵循最小公倍數原則,對於非公***組件部分,它又使用了類似Draw2D庫的API來模擬渲染。JFace是SWT的增強包,它是對SWT的進壹步封裝,使得SWT界面開發的模塊劃分更加清晰,代碼也更加維護。

綜上,在渲染的靈活性上面,swing是最優的,因為它的渲染可在java程序中實現(MVC),而AWT和SWT則因為本機對等體的緣故不是那麽靈活;在內存占用上面,AWT和SWT比swing要少得多,而且也響應也要快壹些,這是因為Swing將組件的渲染信息(甚至是像素信息)都放在程序內存中,並由自己管理,所以Swing界面響應很慢是不足為怪的~~;在支持的組件集合上,SWT和Swing比AWT豐富得多;最後,在穩定性上面,SWT稍顯不足~~

上面的幾種UI庫中,Swing和SWT都占據壹定的份額吧,Swing在壹些報表圖形展示方面有更好的靈活性,也有比較好的開源組件支持(如JFreeChart);而SWT在快速應用開發方面是非常合適的,Eclipse界面便是SWT的實現,而也基於此出現了Eclipse RCP技術(類似於MFC),該技術整合了SWT&JFace基礎庫,采用了OSGI組件設計,主要用於快速桌面應用開發,也常見於IDE的定制開發,目前在市場上應用也是非常廣泛的,舉個例子,華為較新版本的TopEng客戶端便是RCP實現;個人還是偏好於SWT界面。

然而,目前在桌面組件應用(Windows環境)上,Java是處於下風的,其不如C++、C#應用廣泛,原因也不得而知。

希望對妳有所幫助了,呵呵~~

  • 上一篇:如何用條碼打印機打印序列號?
  • 下一篇:怎麽用gui操作方法創建彈簧單元
  • copyright 2024編程學習大全網