資源描述:
《9 圖形用戶界面》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第9章圖形用戶界面(GUI)9.1Java圖形用戶界面概述9.2用AWT創(chuàng)建圖形用戶界面9.3AWT組件9.4布局管理器9.5用Swing創(chuàng)建圖形用戶界面9.6事件處理機(jī)制9.1Java圖形用戶界面概述顧名思義,圖形用戶界面(GraphicsUserInterface,縮寫(xiě)GUI)是指以圖形的顯示方式與用戶實(shí)現(xiàn)交互操作的應(yīng)用程序界面。Java提供了十分完善的圖形用戶界面功能,使得軟件開(kāi)發(fā)人員可以輕而易舉地開(kāi)發(fā)出功能強(qiáng)大、界面友善、安全可靠的應(yīng)用軟件。在Java語(yǔ)言中,有兩個(gè)包(java.awt和javax.swing)囊括了實(shí)現(xiàn)圖形用戶界面的所有基本
2、元素,這些基本元素主要包括容器、組件、布局管理器和繪圖工具等。容器是包容組件的部件,組件是與用戶實(shí)現(xiàn)交互操作的部件,布局管理器是管理組件在容器中的布局形式,繪圖工具是繪制圖形的組件。9.1Java圖形用戶界面概述java.awt是java1.1用來(lái)建立GUI的圖形包,這里的“awt”是抽象窗口工具包(AbstractWindowingToolkit)的縮寫(xiě),其中的組件常被稱為AWT組件。javax.swing是Java2提出的AWT的改進(jìn)包,它主要改善了組件的顯示外觀,增強(qiáng)了組件的控制能力。9.1Java圖形用戶界面概述在Java中,設(shè)計(jì)用戶界面需要
3、經(jīng)歷4個(gè)基本步驟:(1)創(chuàng)建和設(shè)置組件(2)將組件加入到容器中(3)布局組件(4)處理由組件產(chǎn)生的事件9.1Java圖形用戶界面概述9.2用AWT創(chuàng)建圖形用戶界面AWT是抽象窗口工具包,其中涵蓋了JavaAPI為開(kāi)發(fā)Java應(yīng)用程序提供的創(chuàng)建圖形用戶界面的工具集,它包含了用戶界面的各種組件、事件處理模型、圖形和圖像處理工具、布局管理器、數(shù)據(jù)傳輸、剪切和粘貼操作等功能,使得在Java環(huán)境中可以比較輕松地設(shè)計(jì)出具有良好的用戶交互界面的應(yīng)用程序。AWT概述AWT是Java基礎(chǔ)類庫(kù)JFC(JavaFoundationClass)的一個(gè)重要組成部分,它位于ja
4、va.awt包中,其中不僅包含了與顯示界面有關(guān)的各種組件,還包含了一些子包,主要提供了色彩控制、數(shù)據(jù)傳輸、事件處理模型、拖放功能、字體設(shè)置、打印管理、圖像處理等技術(shù)支持。AWT使用的是與運(yùn)行環(huán)境相關(guān)的組件處理機(jī)制。也就是說(shuō),在應(yīng)用程序中使用的各種組件需要在運(yùn)行環(huán)境中有相應(yīng)的本地組件與之配合,共同完成其功能。AWT組件類結(jié)構(gòu)層次圖AWT容器(Container)容器(Container)是用來(lái)放置其他組件的一種特殊組件,在Java中容器用Container類描述,它是Component的一個(gè)子類,因此,容器也具有組件的全部特征,是一種具有特殊作用意義的
5、組件。Container類的部分方法intgetComponentCount()Component[]getComponents()Componentadd(Componentcomp)voidremove(Componentcomp)LayoutManagergetLayout()voidsetLayout(LayoutManagermgr)DimensiongetPreferredSize()DimensiongetMinimumSize()DimensiongetMaximumSize()voidpaint(Graphicsg)容器類的層次結(jié)構(gòu)
6、圖Panel容器是一種最簡(jiǎn)單且無(wú)邊框的容器,又稱為面板容器。在這種容器中可以放置各種類型的組件,甚至是另外一個(gè)Panel容器,所以Panel容器可以嵌套地放置多層。Panel類提供了兩種構(gòu)造方法,其格式為:Panel()Panel(LayoutManagerlayout)Panel容器在java.awt包中提供了一個(gè)Window類,這個(gè)類描述了無(wú)邊框、無(wú)菜單欄的頂層窗口容器。由于一般的應(yīng)用程序窗口都有邊框、標(biāo)題欄和菜單欄,所以通常使用它的子類Frame,這個(gè)類描述了一個(gè)包含邊框和標(biāo)題欄的頂層窗口。Frame類提供了四種構(gòu)造方法的格式:Frame()F
7、rame(GraphicsConfigurationgc)Frame(Stringtitle)Frame(Stringtitle,GraphicsConfigurationgc)Frame容器Frame類的部分成員方法StringgetTitle()voidsetTitle(Stringtitle)MenuBargetMenuBar()voidsetMenuBar(MenuBarmb)RectanglegetMaximizedBounds()voidsetMaximizedBounds(Rectanglebounds)9.3AWT組件盡管AWT容器也
8、屬于組件,但它的主要作用是用來(lái)包容其他組件的。下面將討論一下非容器組件,即那些必須放置在容器中且相互之間不能