javaswing的介紹和使用

Swing是一個(gè)用于開發(fā)Java應(yīng)用程序用戶界面的開發(fā)工具包(GUI工具包),是JAVA基礎(chǔ)類的一部分;它包括了圖形用戶界面(GUI)器件,如:文本框,按鈕,分隔窗格和表。

創(chuàng)新互聯(lián)建站長(zhǎng)期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為庫(kù)倫企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè),庫(kù)倫網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

Swing提供許多比AWT更好的屏幕顯示元素。它們用純Java寫成,所以同Java本身一樣可以跨平臺(tái)運(yùn)行,這一點(diǎn)不像AWT。它們是JFC的一部分。它們支持可更換的面板和主題(各種操作系統(tǒng)默認(rèn)的特有主題),然而不是真的使用原生平臺(tái)提供的設(shè)備,而是僅僅在表面上模仿它們。這意味著你可以在任意平臺(tái)上使用JAVA支持的任意面板。輕量級(jí)組件的缺點(diǎn)則是執(zhí)行速度較慢,優(yōu)點(diǎn)就是可以在所有平臺(tái)上采用統(tǒng)一的行為。

Swing 類庫(kù)結(jié)構(gòu)

Swing 組件都采用 MVC(Model-View-Controller,即模型-視圖-控制器)的設(shè)計(jì),實(shí)現(xiàn) GUI 組件的顯示邏輯和數(shù)據(jù)邏輯的分離,從而允許程序員自定義 Render 來改變 GUI 組件的顯示外觀,以提供更多的靈活性。

Swing 圍繞 JComponent 組件構(gòu)建,JComponent 則由 AWT 的容器類擴(kuò)展而來。

Swing類庫(kù)組織結(jié)構(gòu)圖:

java swing的介紹和使用

可以看出,Swing 組件除了 AbstmctButton 類之外都以 J 開頭。Swing 容器組件直接繼承 AWT 類庫(kù)中的容器組件類,其他大部分組件都是繼承 JComponet 組件。組件可以劃分為容器組件和非容器組件,容器組件包括 JFmme 和 JDialog。其中 JComponent 定義了非容器類的輕量級(jí)組件(JBntton、JPanel、JMenu 等)。

Swing 包

Swing 類庫(kù)由許多包組成,通過這些包中的類相互協(xié)作來完成 GUI 設(shè)計(jì)。其中,javax.swing 包是 Swing 提供的最大包,它包含將近 100 個(gè)類和 25 個(gè)接口。幾乎所有 Swing 組件都在該包中。表 1 列出了常用的 Swing 包。

Swing常用包
包名稱描述
javax.swing提供一組“輕量級(jí)”組件,盡量讓這些組件在所有平臺(tái)上的工作方式都相同
javax.swing.border提供圍繞 Swing 組件繪制特殊邊框的類和接口
javax.swing.event提供 Swing 組件觸發(fā)的事件
javax.swing.filechooser提供 JFileChooser 組件使用的類和接口
javax.swing.table提供用于處理 javax.swing.JTable 的類和接口
javax.swing.text提供類 HTMLEditorKit 和創(chuàng)建 HTML 文本編輯器的支持類
javax.swing.tree提供處理 javax.swingJTree 的類和接口

javax.swing.event 包中定義了事件和事件監(jiān)聽器類,javax.swing.event 包與 AWT 的 event 包類似。Java.awt.event 和 javax.swing.event 都包含事件類和監(jiān)聽器接口,它們分別響應(yīng)由 AWT 組件和 Swing 組件觸發(fā)的事件。

例如,當(dāng)在樹組件中需要節(jié)點(diǎn)擴(kuò)展(或折疊)的通知時(shí),則要實(shí)現(xiàn) Swing 的 TreeExpansionListener 接口,并把一個(gè) TreeExpansionEvent 實(shí)例傳送給 TreeExpansionListener 接口中定義的方法,而 TreeExpansionListener 和 TreeExpansionEvent 都是在 swing.event 包中定義的。

雖然 Swing 的表格組件(JTable)在 javax.swing 包中,但它的支持類卻在 javax.swing.table 包中。表格模型、圖形繪制類和編輯器等也都在 javax.swing.table 包中。

與 JTable 類一樣,Swing 中的樹 JTree(用于按層次組織數(shù)據(jù)的結(jié)構(gòu)組件)也在 javax.swing 包中,而它的支持類卻在 javax.swing.tree 包中。javax.swing.tree 包提供樹模型、樹節(jié)點(diǎn)、樹單元編輯類和樹繪制類等支持類。

Swing 容器

創(chuàng)建圖形用戶界面程序的第一步是創(chuàng)建一個(gè)容器類以容納其他組件,常見的窗口就是一種容器。容器本身也是一種組件,它的作用就是用來組織、管理和顯示其他組件。

Swing 中容器可以分為兩類:頂層容器和中間容器。

頂層容器是進(jìn)行圖形編程的基礎(chǔ),一切圖形化的東西都必須包括在頂層容器中。頂層容器是任何圖形界面程序都要涉及的主窗口,是顯示并承載組件的容器組件。在 Swing 中有三種可以使用的頂層容器,分別是 JFrame、JDialog 和 JApplet。

● JFrame:用于框架窗口的類,此窗口帶有邊框、標(biāo)題、關(guān)閉和最小化窗口的圖標(biāo)。帶 GUI 的應(yīng)用程序至少使用一個(gè)框架窗口。

● JDialog:用于對(duì)話框的類。

● JApplet:用于使用 Swing 組件的 Java Applet 類。

中間容器是容器組件的一種,也可以承載其他組件,但中間容器不能獨(dú)立顯示,必須依附于其他的頂層容器。常見的中間容器有 JPanel、JScrollPane、JTabbedPane 和 JToolBar。

● JPanel:表示一個(gè)普通面板,是最靈活、最常用的中間容器。

● JScrollPane:與 JPanel 類似,但它可在大的組件或可擴(kuò)展組件周圍提供滾動(dòng)條。

● JTabbedPane:表示選項(xiàng)卡面板,可以包含多個(gè)組件,但一次只顯示一個(gè)組件,用戶可在組件之間方便地切換。

● JToolBar:表示工具欄,按行或列排列一組組件(通常是按鈕)。

在 Java 程序中容器類都是繼承自 Container 類。中間容器和頂層容器在,AWT 包和 Swing 包中繼承 Container 類的繼承關(guān)系,如圖所示(容器類組織結(jié)構(gòu)圖):

java swing的介紹和使用

以上就是什么是java swing?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

網(wǎng)頁(yè)標(biāo)題:javaswing的介紹和使用
當(dāng)前網(wǎng)址:http://muchs.cn/article24/ihcsje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、小程序開發(fā)網(wǎng)站策劃、品牌網(wǎng)站建設(shè)、服務(wù)器托管、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化