資源描述:
《圖形用戶界面1》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第9章圖形用戶界面(Ⅰ)在Java的圖形化界面設(shè)計(jì)中,主要會(huì)用到AWT(AbstractWindowToolkit)和Swing包.AWT是建立圖形用戶界面的工具集,但有一定缺陷,主要用于早期的圖形用戶界面的開發(fā).使用AWT開發(fā)出來的用戶界面并不是完全”平臺(tái)獨(dú)立”.為了解決AWT的問題,Sun公司開發(fā)出Swing包,它是一種強(qiáng)化的圖形界面設(shè)計(jì)工具,是基于AWT的,所以稱其為擴(kuò)展包.它使用一種全新的方式繪制圖形組件,運(yùn)行速度比AWT慢一些,但能夠做到完全的”平臺(tái)獨(dú)立”.布局管理器JPanel類JDialog類JFrame類和JWindow類
2、事件處理布局管理器布局是指Java組件在版面上擺放的次序關(guān)系。Java中提供了專門用于組件布局的管理工具—布局管理器。布局管理器也是由一些類來實(shí)現(xiàn)的,包括FlowLayout類、BorderLayout類、GridLayout類和CardLayout類。1.FlowLayout順序布局管理器FlowLayout也稱為流式布局管理器,常用于RadioButton或CheckBox等組件的排列,它將組件逐個(gè)放置在容器的一行中,一行滿后另起一行。FlowLayout的構(gòu)造函數(shù)包括:FlowLayout()建立默認(rèn)布局FlowLayout(int
3、align)設(shè)置對齊方式,對齊常量包括FlowLayout.LEFT,FlowLayout.RIGHT,FlowLayout.CENTERFlowLayout(intalign,inthgap,intvgap)2.BorderLayout邊界布局管理器BorderLayout將容器分為東、西、南、北、中5個(gè)區(qū)域,按照上北下南左西右東的格局分布,各用一個(gè)單詞標(biāo)識(shí):東:EAST南:SOUTH西:WEST北:NORTH中:CENTER放置組件時(shí),必須從5中方向中選擇一種以靠近窗口的邊界,最多放5個(gè)組件,少于5個(gè)時(shí),沒有放置組件的區(qū)域被相鄰的區(qū)域
4、占用,Frame和Dialog的默認(rèn)布局管理器就是BorderLayout。例:BorderLayoutDemo.java3.GridLayout網(wǎng)格布局管理器GridLayout內(nèi)的組件按照網(wǎng)格狀布局,即把容器面板根據(jù)行數(shù)和列數(shù)分成同樣大小的網(wǎng)格單元,每個(gè)網(wǎng)格單元可容納一個(gè)組件,并且該組件填滿整個(gè)網(wǎng)格單元.GridLayout()生成一個(gè)單列的網(wǎng)格布局GridLayout(introws,intcolumns)GridLayout(introws,intcolumns,inthGap,intvGap)可以設(shè)置組件之間的水平和垂直間隔例:
5、GridLayoutExample.javaJPanel類JPanel類也稱為面板,專門用于放置組件,而本身又可以作為一個(gè)獨(dú)立的組件添加到窗口中。在JPanel類之間還可以實(shí)現(xiàn)嵌套,將小的面板放置到大的面板中。JPanel類的構(gòu)造函數(shù):JPanel();JPanel(booleanisDbBuf);JPanel(LayoutManagerlay);JPanel(LayoutManagerlay,booleanisDbBuf);例:JPanelDemo.java,在JPanel面板中繪制圓和矩形,并且可通過控制按鈕在面板中添加他們JDial
6、og類JDialog類提供了Java中對話框窗口設(shè)計(jì)的方法,對話框窗口也屬于標(biāo)準(zhǔn)窗口的一部分,或者說對話框窗口是在標(biāo)準(zhǔn)窗口中進(jìn)行某些操作時(shí)彈出來的,所以在創(chuàng)建對話框窗口時(shí)要指定當(dāng)前對話框窗口的父窗口。JDialog類的構(gòu)造函數(shù):JDialog();JDialog(Dialogowner);JDialog(Dialogowner,Stringtitle);JDialog(Frameowner);JDialog(Frameowner,Stringtitle);owner代表當(dāng)前要?jiǎng)?chuàng)建的對話框窗口的父窗口,Frame類是AWT包中提供的專門用于
7、創(chuàng)建窗口框架的類。使用JDialog類創(chuàng)建對話框窗口時(shí),一般也是在該類的基礎(chǔ)上創(chuàng)建它的子類,在子類中調(diào)用其他方法創(chuàng)建對話框窗口。例:JDialogDemo.java創(chuàng)建對話框窗口,在其中添加標(biāo)簽和按鈕信息。JFrame類和JWindow類JFrame和JWindow都用來創(chuàng)建窗口,但JFrame可以用來創(chuàng)建一個(gè)有標(biāo)題欄,最大化,最小化按鈕的標(biāo)準(zhǔn)窗口,而JWindow創(chuàng)建的窗口沒有標(biāo)題欄和邊框,也沒有最大,最小化按鈕。JFrame類的構(gòu)造函數(shù):JFrame();JFrame(Stringtitle);JWindow類的構(gòu)造函數(shù):JWindo
8、w();JWindow(Frameowner);JWindow(Windowowner);JWindow類中常用方法與JFrame類基本相同,但因其沒有菜單,所以沒有菜單設(shè)計(jì)的方法,也沒有關(guān)閉