Java於
年出現
並迅速發展成為程序開發人員所喜愛的語言
Java的重新定位於Internet和重命名為Java以前五年多時間裡
它是以Oak語言的身份出現的(Oak是一種研究語言
Sun公司打算使它成為C++的一種更易於使用的和功能更強大的變體)
雖然Java語言開發許多年並且在Sun公司內部使用
但是該語言沒有用戶界面工具包
當Java的優勢開始顯現時
很明顯
它必須有用戶界面工具包並應在最短的時間內開發出來
開發用戶界面最快的方法是在本地組件(又叫做對等組件)上做大部分工作
並在本地組件的頂層放一層Java類
這樣
在六個星期不到的時間內開發小組實現了AWT
對等組件體系結構沒有擴展性
並導致了不同平台上不一致的問題產生
此外
AWT沒有可靠的面向對象基礎
例如
最初的事件模型需要一個switch語句
以便根據事件類型來決定激活哪段代碼
這種switch語句是對面向對象的破壞
這種根據對象類型進行切換的swich語句應該通過多態性機制來處理(注
swigch語句有時在面向對象設計中是有效的
但AWT的事件模型不是這種情況
)
Java開發人員
Sun公司或Sun公司的競爭者逐漸注意到原來的AWT的缺點
不久
出現了許多用來替代AWT的工具包
同時
Sun發布了AWT的
版
它做了許多改進
包括一個新事件模型和對輕量組件(非對等組件)的支持
然而
AWT
版還不夠好用
JavaSoft認識到Java領域在用戶界面工具包的使用上將會出現分裂
於是他們與Netscape合作開發Swing組件集
Netscape和Sun公司的工程師用了將近一年半的時間來開發Swing
Swing在AWT上進行了巨大的改進
雖然有些Swing組件替代了AWT的重量組件
但Swing不是AWT的替代品
而是AWT的擴展
Swing使用了大量的AWT下層構件
包括對圖形
字體和布局管理器的支持
要更深入了解Swing
就必須對AWT的下層構件有基本的了解
與所有其他軟件一樣
Swing還不完美
到現在為止
Swing中仍有一些程序錯誤
在某些地方還表現出了一些設計缺陷
但它是一個可靠的用戶界面工具包
比原來的AWT有了很大改進
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26392.html