AWT
抽象視窗工具組(英語:Abstract Window Toolkit,簡稱:AWT)是Java的平台獨立的視窗系統, 圖形和使用者介面器件工具包。AWT是Java基礎類(JFC)的一部分,為Java程序提供圖形使用者介面(GUI)的標準API。
特性
編輯Java釋出的時候,AWT作為Java最弱的組件受到不小的批評。最根本的缺點是AWT在原生的用戶界面之上僅提供了一個非常薄的抽象層。例如,生成一個AWT的複選框會導致AWT直接調用下層原生例程來生成一個複選框。不幸的是,一個Windows平台上的複選框同MacOS平台或者各種UNIX風格平台上的複選框並不是那麼相同。
這種糟糕的設計選擇使得那些擁護Java「一次編寫,到處運行(write once, run everywhere)」信條的程序員們過得並不舒暢,因為AWT並不能保證他們的應用在各種平台上表現得有多相似。一個AWT應用可能在Windows上表現很好可是到了Macintosh上幾乎不能使用,或者正好相反。在90年代,程序員中流傳着一個笑話:Java的真正信條是「一次編寫,到處測試(write once, test everywhere)」。導致這種糟糕局面的一個可能原因據說是AWT從概念產生到完成實現只用了一個月。
在第二版的Java開發包中,AWT的器件很大程度上被Swing工具包替代。Swing通過自己繪製器件而避免了AWT的種種弊端:Swing調用本地圖形子系統中的底層例程,而不是依賴操作系統的高層用戶界面模塊。