圖形界面設(shè)計(jì)(第版)_第1頁(yè)
圖形界面設(shè)計(jì)(第版)_第2頁(yè)
圖形界面設(shè)計(jì)(第版)_第3頁(yè)
圖形界面設(shè)計(jì)(第版)_第4頁(yè)
圖形界面設(shè)計(jì)(第版)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第12章

圖形界面設(shè)計(jì)1本章主要內(nèi)容圖形用戶界面工具包SwingSwing組件分類Swing容器的內(nèi)部結(jié)構(gòu)創(chuàng)建組件窗口的布局管理設(shè)計(jì)2CompanyLogo12.1圖形用戶界面概述圖形用戶界面(GraphicsUserInterface,GUI)用圖形的方式,借助菜單。按鈕等標(biāo)準(zhǔn)界面元素和鼠標(biāo)操作,幫助用戶方便地向計(jì)算機(jī)系統(tǒng)發(fā)出指令、啟動(dòng)操作,并將系統(tǒng)運(yùn)行的結(jié)果同樣以圖形方式顯示給用戶的技術(shù)。Java的GUI程序設(shè)計(jì)是Java程序設(shè)計(jì)的基礎(chǔ)。Java提供的兩個(gè)處理圖形用戶界面的類庫(kù)Java.awt包和javax.swing包

抽象窗口工具集awt的擴(kuò)展,根據(jù)給定環(huán)境調(diào)整外觀和感覺。3CompanyLogo12.2圖形用戶界面工具包-SwingJava圖形用戶界面的基本元素包括:用戶界面組件(組件類)、事件處理模塊(事件類)、圖形和圖像工具(圖形類、圖像類)、布局管理器(布局類)等。java組件類的繼承關(guān)系見教材圖12.14CompanyLogo12.2.1Swing組件分類組件:構(gòu)成圖形用戶界面的各種元素。構(gòu)建圖形用戶界面的類可以分成三組:容器類(containerclass)、輔助類(helperclass)和組件類(componentclass)。Swing輕型組件的分類見教材表12.1容器類容器又分為兩種:頂層容器和非頂層容器。頂層容器是可以獨(dú)立的窗口,Swing的頂層容器有JFrame、JApplet和JDialog等;非頂層容器,不是獨(dú)立的窗口,它們必須位于窗口之內(nèi),非頂層容器包括JPanel及JScrollPanel等。5CompanyLogo12.2.1Swing組件分類輔助類輔助類是用來描述組件屬性的,輔助類通常包含在java.awt包中。組件類所有SwingGUI組件類(除JFrame、JApplet和JDialog)都是JComponent類的子類,例如,JButton、JTextField、JTextArea、JComboBox、JList、JRadioButton和JMenu等。6CompanyLogo12.2.1Swing組件分類Swing容器的層次關(guān)系一般的Swing窗口,實(shí)際上包含幾個(gè)“層次”,各個(gè)層的關(guān)系如圖12.2所示??蚣茴怞Frame它是Java應(yīng)用程序的頂層容器。面板類Jpanel面板是一種沒有標(biāo)題欄、沒有邊框的中間層容器,面板不是頂層容器,必須放到其他容器內(nèi),也可以放入另一個(gè)面板內(nèi)。7見教材例12.1見教材例12.2CompanyLogo12.2.1Swing組件分類非容器類又稱控制組件(控件),它里面不能包含其他組件。作用:完成與用戶的交互,包括接收用戶的命令、接收用戶輸入的文本或用戶的選擇、向用戶顯示文本或圖形。常用控件:命令類、選擇類、文字處理類等式8CompanyLogo12.2.1Swing組件分類圖形界面設(shè)計(jì)的步驟創(chuàng)建組件(Component):創(chuàng)建組成界面的各種元素,如按鈕、文本框等。指定布局(Layout):根據(jù)具體需要排列界面上各元素的位置關(guān)系。響應(yīng)事件(Event):定義圖形用戶界面的事件和各界面元素對(duì)不同事件的響應(yīng),從而實(shí)現(xiàn)圖形用戶界面與用戶的交互功能。9CompanyLogo12.2.2顏色類、字體類與圖標(biāo)類顏色類Color屬于java.awt每種顏色均看作是由紅(R)、綠(G)、藍(lán)(B)三色組成。構(gòu)造方法:Color(intr,intg,intb)顏色變量見教材表12.10字體類Font用來規(guī)范組件所用的字體樣式、大小與字形等。構(gòu)造方法:Font(Stringfont_name,intstyle,intsize)參數(shù)取值0——255,越大則表明這種顏色的成分越重。字體名稱字形樣式:PLAIN、BOLD、ITALIC字號(hào)大小10CompanyLogoCompanyLogo12.2.2顏色類、字體類與圖標(biāo)類圖像圖標(biāo)類ImageIconJava語(yǔ)言使用javax.swing.ImageIcon類表示圖標(biāo)。表12.12給出了ImageIcon類的常用構(gòu)造方法,表12.13給出了ImageIcon類的常用方法。11CompanyLogoCompanyLogo12.3創(chuàng)建組件12.3.1創(chuàng)建標(biāo)簽12.3.2創(chuàng)建命令按鈕12.3.3創(chuàng)建文本編輯組件12.3.4創(chuàng)建復(fù)選框組件12CompanyLogoCompanyLogo12.3.1標(biāo)簽JLabelJLabel(javax.swing)標(biāo)簽用來在窗口中顯示文字的控件構(gòu)造方法及常用方法見教材表12.14、12.15見教材例12.3、12.413CompanyLogoCompanyLogoJButton(javax.swing)用戶用鼠標(biāo)單擊它來控制程序運(yùn)行的流程。JButton創(chuàng)建后通過容器的add()將其放入容器。構(gòu)造方法及常用方法見教材表12.16、12.17見教材例12.5、12.414CompanyLogo12.3.2命令按鈕、復(fù)選框和單選按鈕CompanyLogoJCheckBox和JRadioButton(javax.swing)JCheckBox可以單獨(dú)使用,而單選按鈕必須配合javax.swing包中的ButtonGroup類將其組成單選按鈕組來使用構(gòu)造方法及常用方法見教材表12.18見教材例12.615CompanyLogo12.3.2命令按鈕、復(fù)選框和單選按鈕CompanyLogo12.3.3文本編輯組件與滾動(dòng)窗格文本行組件JTextField主要用于接收用戶鍵盤輸入的文本密碼文本行組件JPasswordField主要用于輸入密碼文本區(qū)組件JTextArea通常與滾動(dòng)窗格組件JScrollPane一起使用這幾種組件類的構(gòu)造方法及常用方法見教材中表12.20—12.24應(yīng)用見教材例12.716CompanyLogoCompanyLogo12.3.4選項(xiàng)窗格組件選項(xiàng)窗格JTabbedPaneJTabbedPane組件中允許包含多個(gè)選項(xiàng)卡。用戶選取項(xiàng)目的一種組件,用戶利用該組件來表JTabbedPane類的構(gòu)造方法及常用方法見教材中表12.25、12.26應(yīng)用見教材例12.817CompanyLogoCompanyLogo12.4布局管理器布局管理即頁(yè)面管理。頁(yè)面管理(layout):指窗口上的組件遵循一定的規(guī)則來排列,并會(huì)隨著窗口大小的變化來改變組件大小與位置的一種布局方式。自動(dòng)布局:當(dāng)為一個(gè)容器指定一個(gè)布局管理器后,將一個(gè)組件加入該容器中時(shí),布局管理器就能自動(dòng)設(shè)置該組件的大小和位置。java.awt包中共定義了五種布局管理器,每個(gè)布局管理器對(duì)應(yīng)一種布局策略,分別是:流式布局管理器FlowLayout、邊界式布局管理器BorderLayout、卡片式布局管理器CardLayout、網(wǎng)格式布局管理器GridLayout和網(wǎng)袋布局管理器GridBagLayout。18CompanyLogoCompanyLogo12.4.1流式布局管理器FlowLayout布局策略組件按照加入容器的先后順序從左向右排列;一行排滿后就自動(dòng)地轉(zhuǎn)到下一行繼續(xù)從左向右排列;每一行中的組件都居中排列。FlowLayout布局管理器是Panel、Applet和JPanel默認(rèn)的布局管理方式。布局管理器的容器中的組件大小不隨容器大小的變化而改變.構(gòu)造方法及常用方法見教材表12.27-12.29見教材例12.919CompanyLogoCompanyLogo12.4.2邊界式布局管理器BorderLayout將顯示區(qū)域按地理方位分為東(East)、西(West)、

南(South)、北(North)、中(Center)五個(gè)區(qū)域。將組件加入容器中,若沒有指定區(qū)域,則默認(rèn)為

中間;若將組件加入到已被占用的位置,將會(huì)取

代原先的組件。利用add()添加組件時(shí)必須指出組件的擺放位置。構(gòu)造方法及常用方法見教材表12.30-12.32見教材例12.1020CompanyLogoCompanyLogo12.4.3網(wǎng)格式布局管理器GridLayout提供的頁(yè)面布局規(guī)則是將容器的空間劃分成若干行與列的網(wǎng)格形式,在容器上添加組件時(shí),它們會(huì)按從左到右、從上到下的順序在網(wǎng)格中均勻排列。網(wǎng)格的行數(shù)和列數(shù)可以在創(chuàng)建GridLayout對(duì)象的構(gòu)造方法里指定。若控件數(shù)正好是行×列,則按行、列數(shù)放置;若控件數(shù)超過了行×列,則先滿足行。利用GridLayout布局策略時(shí),容器中各組件的寬度相同,所有組件的高度也相同,當(dāng)容器尺寸發(fā)生變化時(shí),各組件的相對(duì)位置不變。構(gòu)造方法及常用方法見教材表12.33、12.34見教材例12.1121CompanyLogo通過行列、間距來用網(wǎng)格分割,把組件放入網(wǎng)格中,先行后列擺放組件CompanyLogo12.4.4卡片式布局管理器CardLayout頁(yè)面布局方式是把“窗口容器”中的所有組件如同堆疊起來的一付“撲克牌”,每次只能顯示最上面的一張一樣,這個(gè)被顯示的組件將占據(jù)所有的容器空間。使用add()往窗口容器中加入組件時(shí)應(yīng)為每個(gè)組件賦予一個(gè)名字。依據(jù)這個(gè)名字利用CardLayout類所提供的方法來控制其他組件是否顯示。該布局方式每次僅有一個(gè)組件是可見的。構(gòu)造方法及常用方法見教材表12.35、12.36見教材例12.1222CompanyLogoCompanyLogo12.4.5格包布局管理器GridBagLayout將容器中的組件按行、列的位置擺放,但各組件所占據(jù)的空間可以是互不相同的??梢詾槊總€(gè)組件指定其占據(jù)的網(wǎng)格數(shù),可以保留組件原來的大小,可以按任意順序隨意加入容器的任意位置,從而可以真正自由地安排容器中的組件的大小和位置。構(gòu)造方法及常用方法見教材表12.37-12.40見教材例12.1323CompanyLogo12.4.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論