資源描述:
《Java的圖形用戶界面設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Java基礎(chǔ)培訓(xùn)第9章Java的圖形用戶界面設(shè)計(jì)9.1圖形用戶界面設(shè)計(jì)概述GUI:GraphicsUserInterface,圖形用戶界面。Java的圖形用戶界面技術(shù)經(jīng)歷了兩個(gè)發(fā)展階段,分別通過(guò)提供AWT開(kāi)發(fā)包和Swing開(kāi)發(fā)包來(lái)體現(xiàn),而且功能越來(lái)越強(qiáng)大,界面設(shè)計(jì)越來(lái)越美觀。29.2AWT圖形用戶界面AWT:AbstractWindowsToolkit,抽象窗口工具包。是Java提供的建立圖形用戶界面GUI的開(kāi)發(fā)包,它支持圖形用戶界面編程的主要功能。9.1.1java.awt包AWT可用于Java的Applet和Application中它支持圖形用戶界面編程的主
2、要功能包括:用戶界面構(gòu)件;事件處理模型;圖形和圖像工具,如形狀、顏色和字體類;布局管理器等。java.awt包提供了基本的java程序的GUI設(shè)計(jì)工具。主要包括下述三個(gè)概念,每個(gè)概念對(duì)應(yīng)著一個(gè)類。構(gòu)件:Component,它是該包的核心,是一個(gè)抽象類,其他構(gòu)件都是從它衍生出來(lái)的。容器:Container,從Component類繼承而來(lái),用來(lái)管理構(gòu)件。布局管理器:LayoutManager,確定容器內(nèi)構(gòu)件的布局。39.2AWT圖形用戶界面49.2AWT圖形用戶界面9.2.2構(gòu)件和容器類⒈構(gòu)件類(Component)Java的圖形用戶界面的最基本組成部分是構(gòu)件(Co
3、mponent)。構(gòu)件是一個(gè)可以以圖形化的方式顯示在屏幕上并能與用戶進(jìn)行交互的對(duì)象,如一個(gè)按鈕、一個(gè)標(biāo)簽等。類java.awt.Component是許多構(gòu)件類的父類,一般編程過(guò)程中采用的都是Component類的子類;但是Component類中也封裝了構(gòu)件通用的方法和屬性,如圖形的構(gòu)件對(duì)象、大小、顯示位置、前景色、邊界和可見(jiàn)性等。59.2AWT圖形用戶界面Component類的部分重要的成員方法包括:getComponentAt(intx,inty):獲得坐標(biāo)(x,y)上的構(gòu)件對(duì)象。getFont():獲得構(gòu)件的字體。getForeground():獲得構(gòu)件的前
4、景色。getName():獲得構(gòu)件的名字。getSize():獲得構(gòu)件的大小。paint(Graphicsg):繪制構(gòu)件。repaint():重新繪制構(gòu)件。update():刷新構(gòu)件。setVisible(booleanb):設(shè)置構(gòu)件是否可見(jiàn)。setSize(Dimensiond):設(shè)置構(gòu)件的大小。setName(Stringname):設(shè)置構(gòu)件的名字。69.2AWT圖形用戶界面⒉容器類(Container)Container是一個(gè)類,實(shí)際上是Component的子類,因此容器本身也是一個(gè)構(gòu)件,具有構(gòu)件的所有性質(zhì),另外還具有放置其他構(gòu)件和容器的功能。⒊布局管理器
5、類(LayoutManager)布局管理器是用來(lái)管理構(gòu)件放置在容器的位置和大小的。每個(gè)容器都有一個(gè)布局管理器,當(dāng)容器需要對(duì)某個(gè)構(gòu)件進(jìn)行定位或判斷其大小尺寸時(shí),就會(huì)調(diào)用其對(duì)應(yīng)的布局管理器。容器java.awt.Container是Component的子類,一個(gè)容器可以容納多個(gè)構(gòu)件,并使它們成為一個(gè)整體。容器可以簡(jiǎn)化圖形化界面的設(shè)計(jì),以整體結(jié)構(gòu)來(lái)布置界面。所有的構(gòu)件都可以通過(guò)add()方法向容器中添加構(gòu)件。79.2AWT圖形用戶界面Java常用的容器有Frame、Panel等。(1)窗口(Frame)。(2)面板(Panel)。Panel通常稱為面板,Panel是一
6、種透明的容器,既沒(méi)有標(biāo)題,也沒(méi)有邊框,就像一塊透明的玻璃。與Frame不同,它不能作為最外層的容器單獨(dú)存在,它首先必須作為一個(gè)構(gòu)件放置到其他容器中,然后再把它當(dāng)作容器,把其他構(gòu)件放到它里面。89.3布局管理9.3.1布局管理概述與版面配置有關(guān)的類有FlowLayout類、BorderLayout類、CardLayout類、GridLayout類和GridBagLayout類,這些類都繼承自java.lang.Object類,它們都放在AWT包中。9.3.2FlowLayout布局管理器布局效果:⑴構(gòu)件在容器內(nèi)按照加入次序逐行定位,行內(nèi)從左到右,一行排滿后換行⑵不
7、改變構(gòu)件尺寸,即按照構(gòu)件原始大小進(jìn)行顯示99.3布局管理此類的聲明方式為:⑴setLayout(newFlowLayout(intalign));⑵setLayout(newFlowLayout(intalign,inth,intv));⑶setLayout(newFlowLayout());說(shuō)明:⑴align為組件對(duì)齊方式,可以取三個(gè)常量,分別為L(zhǎng)EFT、CENTER、RIGHT⑵h、v分別為組件間的水平間隔數(shù)和垂直間隔數(shù)。缺省時(shí),對(duì)齊方式為居中,組件間的橫縱間距都為5個(gè)像素。⑶FlowLayout類的第三種構(gòu)造方法為:對(duì)齊方式為居中,組件間的橫縱間距都為5個(gè)
8、像素。109.3布局管理