Java swing是什麼?有什麼作用?

千鋒武漢發表於2021-07-29

  在早期JDK1.0釋出時,Sun公司就為GUI開發提供了一套基礎類庫,這套類庫被稱為AWT(Abstract Window Toolkit),即抽象視窗工具包。AWT的起初設想就是為了統一實現不同作業系統的影像介面,但問題是,不同作業系統圖形庫的功能可能不一樣,在一個平臺上存在的功能在另外一個平臺上則可能不存在,為此AWT不得不透過犧牲功能來實現平臺無關性。不僅如此,AWT還是一個重量級元件,使用比較麻煩,且設計出的圖形介面不夠美觀功能也非常有限。為此,Sun公司對AWT進行改進,提出了Swing元件,提供了更加豐富的元件和功能,來滿足GUI設計的一切需求。

  Swing是一種輕量級元件,它由Java語言開發,同時底層以AWT為基礎,使跨平臺應用程式可以使用任何可插拔的外觀風格,並且Swing可以透過簡潔的程式碼、靈活的功能和模組化元件來建立優雅的使用者介面。所以同AWT相比,在實際開發中,更多的是使用Swing進行圖形使用者介面開發。需要注意的是,Swing並不是AWT的替代品,而是在原有的AWT的基礎上進行了補充和改進。

  Swing元件為實現圖形使用者介面提供了很多基礎類庫,多數位於java.awt、javax.swing包及其子包下,在這些包下提供了實現圖形使用者介面的主要類。其中在java.awt包及其子包下的一些類屬於原有AWT元件的底層實現,而在javax.swing包及其子包下的一些類則屬於Swing後期擴充套件的,這也從側面反映出Swing元件對AWT元件的依賴性,接下來透過一張圖來描述Swing元件的主要類,如圖1所示。

1

圖1 Swing元件繼承關係

  從圖1可以看出,Swing元件的所有類都繼承自Container類,然後根據GUI開發的功能擴充套件了2個主要分支:容器分支(包括Window視窗和Panel皮膚)和元件分支。其中,容器分支就是為了實現圖形使用者介面視窗容器而設計的,而元件分支則是為了實現向容器中填充資料、元素以及人機互動元件等功能。

  在Swing元件類中,常用的頂級容器類包括有JApplet、JFrame和JDialog;常用的元件類中,AbstractButton類及其子類就是用來定義按鈕常見行為的工具類,JTextComponent類及其子類就是用來定義文字內容編輯區域的工具類。

   Java swing是什麼?有什麼作用?透過上面的介紹,大家都瞭解了嗎?如果大家正在學習Java知識或者是對Java知識比較感興趣的話,可以關注小千,後期分享更多Java知識。

  本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2783741/,如需轉載,請註明出處,否則將追究法律責任。

相關文章