首頁技術(shù)文章正文

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

更新時(shí)間:2020-08-20 來源:黑馬程序員 瀏覽量:

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

Swing是一種輕量級組件,它由Java語言開發(fā),同時(shí)底層以AWT為基礎(chǔ),使跨平臺應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格,并且Swing可以通過簡潔的代碼、靈活的功能和模塊化組件來創(chuàng)建優(yōu)雅的用戶界面。所以同AWT相比,在實(shí)際開發(fā)中,更多的是使用Swing進(jìn)行圖形用戶界面開發(fā)。需要注意的是,Swing并不是AWT的替代品,而是在原有的AWT的基礎(chǔ)上進(jìn)行了補(bǔ)充和改進(jìn)。

Swing組件為實(shí)現(xiàn)圖形用戶界面提供了很多基礎(chǔ)類庫,多數(shù)位于java.awt、javax.swing包及其子包下,在這些包下提供了實(shí)現(xiàn)圖形用戶界面的主要類。其中在java.awt包及其子包下的一些類屬于原有AWT組件的底層實(shí)現(xiàn),而在javax.swing包及其子包下的一些類則屬于Swing后期擴(kuò)展的,這也從側(cè)面反映出Swing組件對AWT組件的依賴性,接下來通過一張圖來描述Swing組件的主要類,如圖1所示。

1597911899124_Java swing.png

圖1 Swing組件繼承關(guān)系

從圖1可以看出,Swing組件的所有類都繼承自Container類,然后根據(jù)GUI開發(fā)的功能擴(kuò)展了2個主要分支:容器分支(包括Window窗口和Panel面板)和組件分支。其中,容器分支就是為了實(shí)現(xiàn)圖形用戶界面窗口容器而設(shè)計(jì)的,而組件分支則是為了實(shí)現(xiàn)向容器中填充數(shù)據(jù)、元素以及人機(jī)交互組件等功能。

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


猜你喜歡:

APM系統(tǒng)是什么?有什么用處?

什么是權(quán)限管理?權(quán)限管理有哪些分類?

什么是敏捷開發(fā)?十分鐘了解

Java高級軟件工程師課程

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!