當前位置:編程學習大全網 - 編程語言 - Awt編程和swing編程

Awt編程和swing編程

Jsf是表示層的框架,主要針對web界面的應用;其他的屬於桌面UI庫,和前者不同,這裏不做比較。

AWT是java早期版本中使用的UI庫。對於跨平臺,它是指提供各種平臺上支持的組件的最大公約數集...比如蘋果操作系統不支持按鈕的圖片顯示,所以AWT的按鈕無法使用圖片;AWT的實現是以native peer的方式實現的,即壹個Button對象對應壹個native window組件(映射由本地程序實現),所以AWT組件看起來和本地組件壹模壹樣。

另壹方面,SWING基於AWT做了許多擴展,它提供了在各種平臺上支持的最不常見的多組件集...設計中使用了MVC(子UI,組件,模型),其組件除windows外,大部分使用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略顯不足~ ~

Swing和SWT都在上述UI庫中占據了壹定的份額。Swing在顯示壹些報表圖形方面有更好的靈活性,對開源組件(比如JFreeChart)有更好的支持。SWT非常適合快速應用開發。Eclipse接口是SWT的實現,基於此出現了Eclipse RCP技術(類似於MFC),它集成了SWT &;JFace基本庫,用OSGI組件設計,主要用於快速桌面應用開發,在IDE的定制開發中也很常見。目前市場上也廣泛使用。比如華為較新版本的TopEng客戶端就是RCP實現;我個人還是比較喜歡SWT界面。

但目前在桌面組件(Windows環境)的應用中,Java處於劣勢,沒有C++和C#應用廣泛,原因不明。

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

  • 上一篇:人教版四年級美術上冊《登山遊戲》教案
  • 下一篇:加工中心G指令和M指令怎麽用?
  • copyright 2024編程學習大全網