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