java swing面试题_Java面试题之AWT、Swing
1.AWT和Swing的基本概念
AWT和Swing都是java中的GUI工具包。
AWT(Abstract Window Toolkit):抽象窗口工具包,早期編寫圖形界面應用程序的包。
Swing :為解決 AWT 存在的問題而新開發的圖形界面包,包括了圖形用戶界面(GUI)器件如:文本框,按鈕,分隔窗格和表。Swing是對AWT的改良和擴展。
Swing提供許多比AWT更好的屏幕顯示元素。它們用純Java寫成,所以同Java本身一樣可以跨平臺運行,這一點不像AWT。它們是JFC的一部分。它們支持可更換的面板和主題(各種操作系統默認的特有主題),然而不是真的使用原生平臺提供的設備,而是僅僅在表面上模仿它們。這意味著你可以在任意平臺上使用JAVA支持的任意面板。輕量級組件的缺點則是執行速度較慢,優點就是可以在所有平臺上采用統一的行為。
2.AWT和Swing實現原理的對比
AWT的圖形函數與操作系統提供的圖形函數有著一一對應的關系。也就是說,當我們利用 AWT構件圖形用戶界面的時候,實際上是在利用操作系統的圖形庫。
不同的操作系統其圖形庫的功能可能不一樣,在一個平臺上存在的功能在另外一個平臺上則可能不存在。為了實現Java語言所宣稱的"一次編譯,到處運行"的概念,AWT不得不通過犧牲功能來實現平臺無關性。因此,AWT 的圖形功能是各操作系統圖形功能的“交集”。
因為AWT是依靠本地方法來實現功能的,所以AWT控件稱為“重量級控件”。?而Swing ,不僅提供了AWT 的所有功能,還用純粹的Java代碼對AWT的功能進行了大幅度的擴充。
例如:并不是所有的操作系統都提供了對樹形控件的支持, Swing則利用了AWT中所提供的基本作圖方法模擬了一個樹形控件。
由于 Swing是用純粹的Java代碼來實現的,因此Swing控件在各平臺通用。
因為Swing不使用本地方法,故Swing控件稱為“輕量級控件”。
3.AWT和Swing之間的區別
1)AWT 是基于本地方法的C/C++程序,其運行速度比較快;Swing是基于AWT的Java程序,其運行速度比較慢。
2)AWT的控件在不同的平臺可能表現不同,而Swing在所有平臺表現一致。
4.Swing的簡單實現
1)基本搭建
2)實現一個用戶登錄框
總結
以上是生活随笔為你收集整理的java swing面试题_Java面试题之AWT、Swing的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抽取样本java实验报告_一个自定义cl
- 下一篇: java 正方形字符串_java编程:怎