本篇文章,我將和大家分享一下Java中新一代的圖形界面開發(fā)工具 Swing 類庫的簡要概述,基本結(jié)構(gòu)和常用的包,希望對大家的學(xué)習(xí)有所幫助。下面是詳情內(nèi)容。
Swing類庫概述
我們所見的,無論是瀏覽器,還是軟件使用,它們都需要有一個(gè)圖形界面,這才方便用戶進(jìn)行交互使用。在 Java 中有專門用來開發(fā)圖形界面的工具,比如AWT、Swing。
Swing作為新一代的圖形界面開發(fā)工具,用來開發(fā)界面比AWT更加優(yōu)秀。因?yàn)镾wing是一種輕量級(jí)組件,采用的是純 Java 開發(fā),所以繼承了 Java 語言的跨平臺(tái)性,不再限制于本地平臺(tái)的圖形界面,可以在更多平臺(tái)上保持同樣的運(yùn)行效果。除此之外,Swing 比 AWT 提供了更多的圖形界面組件,可以用來開發(fā)出更美觀更優(yōu)秀的圖形界面程序。
Swing類庫結(jié)構(gòu)
Swing 組件采用的是 MVC 的設(shè)計(jì)方式,因此實(shí)現(xiàn)了 GUI 組件的顯示邏輯和數(shù)據(jù)邏輯分離,也就允許了程序員可以自定義 Render 來改變 GUI 組件的顯示外觀,從而提供了更多靈活性。
Swing 主要是圍繞 JComponent 組件構(gòu)建的,而 JComponent 是由 AWT 的容器擴(kuò)展而來的。所以,Swing 的組織結(jié)構(gòu)如下圖所示:
由圖中不難看出,Swing 組件除了 AbstractButton 類之外都是 J 開頭的。所以Swing 容器組件除了直接繼承了 AWT 類庫中的容器組件類,其他大部分組件都是繼承 JComponent 組件。
這些組件又可以分成兩類,容器組件和非容器組件。容器組件包括了JFmme和JDialog兩個(gè)組件,非容器組件有JButton、JMenu和JPanel等等。
Swing類庫的包
Swing 類庫是由許多個(gè)包組成的,正是有了這些包中的類互相協(xié)作來完成 GUI 設(shè)計(jì)。
在這其中,javax.swing 包是 Swing 類庫提供的最大的包,其中包含了將近了 100 個(gè)類和 25 個(gè)接口。可以說,幾乎所有的 Swing 組件都在這個(gè)包中。
用得比較多的還有 javax.swing.event 包,這個(gè)包定義了事件和事件監(jiān)聽器類,是用來響應(yīng) Swing 組件觸發(fā)的事件。
另外說個(gè)特別的,Swing 的 表格組件(JTable)雖然在 javax.swing 包中,但是它的支持類卻在 javax.swing.table 包中。除了 JTable之外,還有圖形繪制類和編輯器等都是在 javax.swing.table 包里面。
總結(jié)
以上就是關(guān)于 Java 圖形界面開發(fā)工具 Swing 類庫的初步介紹,想要了解更多關(guān)于 Java Swing 類庫的使用方法以及其他內(nèi)容,請搜索W3Cschool以往的文章。如果本篇文章對大家的學(xué)習(xí)有所幫助,還希望大家能夠多多地關(guān)注和支持!