資源描述:
《java 圖形用戶界面設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第15章圖形用戶界面設(shè)計(jì)15.1JavaSwing概述Java的java.awt包,即Java抽象窗口工具包(AWT:AbstractWindowToolkit)提供了許多用來(lái)設(shè)計(jì)GUI的組件類在學(xué)習(xí)GUI編程時(shí),必須很好地理解掌握兩個(gè)概念:容器類(Container)和組件類(Component)。javax.swing包中JComponent類是java.awt包中Container類的一個(gè)直接子類、是Component類的一個(gè)間接子類,學(xué)習(xí)GUI編程主要是學(xué)習(xí)掌握使用Component類的一些重要的子類。Java把Component類的子類或間接子類創(chuàng)建的對(duì)象稱為一個(gè)組件
2、。Java把Container的子類或間接子類創(chuàng)建的對(duì)象稱為一個(gè)容器??梢韵蛉萜魈砑咏M件。Container類提供了一個(gè)public方法:add(),一個(gè)容器可以調(diào)用這個(gè)方法將組件添加到該容器中。容器調(diào)用removeAll()方法可以移掉容器中的全部組件;調(diào)用remove(Componentc)方法可以移掉容器中參數(shù)c指定的組件。注意到容器本身也是一個(gè)組件,因此可以把一個(gè)容器添加到另一個(gè)容器中實(shí)現(xiàn)容器的嵌套。圖15.1Component類的部分子類ContainerComponentJComponentWindowJButtonJTextFieldJTeatAreaJTreeJ
3、PanelJTableJFrameJDialogFrameDialog15.2窗口Java提供的JFrame類的實(shí)例就是一個(gè)底層容器(JDialog類的實(shí)例也是一個(gè)底層容器,見后面的15.6),即通常所稱的窗口。其他組件必須被添加到底層容器中,以便借助這個(gè)地層容器和操作系統(tǒng)進(jìn)行信息交互JFrame類是Container類的間接子類。當(dāng)需要一個(gè)窗口時(shí),可使用JFrame或其子類創(chuàng)建一個(gè)對(duì)象15.2.1JFrame常用方法JFrame()創(chuàng)建一個(gè)無(wú)標(biāo)題的窗口。JFrame(Strings)創(chuàng)建標(biāo)題為s的窗口。publicvoidsetVisible(booleanb)設(shè)置窗口是否可
4、見,窗口默認(rèn)是不可見的。publicvoiddispose()撤消當(dāng)前窗口,并釋放當(dāng)前窗口所使用的資源。publicvoidsetDefaultCloseOperation(intoperation)該方法用來(lái)設(shè)置單擊窗體右上角的關(guān)閉圖標(biāo)后,程序會(huì)做出怎樣的處理。15.2.2菜單條、菜單、菜單項(xiàng)窗口中的菜單條、菜單、菜單項(xiàng)是我們所熟悉的組件,菜單放在菜單條里,菜單項(xiàng)放在菜單里。1.菜單條JComponent類的子類JMenubar負(fù)責(zé)創(chuàng)建菜單條,即JMenubar的一個(gè)實(shí)例就是一個(gè)菜單條。JFrame類有一個(gè)將菜單條放置到窗口中的方法:setJMenuBar(JMenuBarb
5、ar);該方法將菜單條添加到窗口的頂端,需要注意的是,只能向窗口添加一個(gè)菜單條。2.菜單JComponent類的子類JMenu負(fù)責(zé)創(chuàng)建菜單,即JMenu的一個(gè)實(shí)例就是一個(gè)菜單。3.菜單項(xiàng)JComponent類的子類JMenuItem負(fù)責(zé)創(chuàng)建菜單項(xiàng),即JMenuItem的一個(gè)實(shí)例就是一個(gè)菜單項(xiàng)。4.嵌入子菜單JMenu是JMenuItem的子類,因此菜單本身也是一個(gè)菜單項(xiàng),當(dāng)把一個(gè)菜單看作菜單項(xiàng)添加到某個(gè)菜單中時(shí),稱這樣的菜單為子菜單。5.菜單上的圖標(biāo)圖15.3帶菜單的窗口為了使菜單項(xiàng)有一個(gè)圖標(biāo),可以用圖標(biāo)類Icon聲明一個(gè)圖標(biāo),然后使用其子類ImageIcon類創(chuàng)建一個(gè)圖標(biāo)15
6、.3常用組件與布局可以使用JComponent的子類JTextField創(chuàng)建文本框。文本框的特點(diǎn)是允許用戶在文本框中輸入單行文本。15.3.1常用組件1.文本框使用JComponent的子類JTextField創(chuàng)建文本框,允許用戶在文本框中輸入單行文本。2.文本區(qū)使用JComponent的子類JTexArea創(chuàng)建文本區(qū),允許用戶在文本區(qū)中輸入多行文本。3.按鈕使用JComponent的子類JButton類用來(lái)創(chuàng)建按鈕,允許用戶單擊按鈕。4.標(biāo)簽使用JComponent的子類JLabel類用來(lái)創(chuàng)建標(biāo)簽,標(biāo)簽為用戶提供信息提示。5.選擇框使用JComponent的子類JCheckB
7、ox類用來(lái)創(chuàng)建選擇框,為用戶提供多項(xiàng)選擇。選擇框的右面有個(gè)名字,并提供兩種狀態(tài),一種是選中,另一種是未選中,用戶通過單擊該組件切換狀態(tài)。6.單選按鈕使用JComponent的子類JRadioButton類用來(lái)創(chuàng)建單項(xiàng)選擇框,為用戶提供單項(xiàng)選擇。7.下拉列表使用JComponent的子類JComboBox類用來(lái)創(chuàng)建下拉列表,為用戶提供單項(xiàng)選擇。用戶可以在下拉列表看到第一個(gè)選項(xiàng)和它旁邊的箭頭按鈕,當(dāng)用戶單擊箭頭按鈕時(shí),選項(xiàng)列表打開。8.密碼框可以使用JComponent的子類JPasswordF