資源描述:
《《圖形用戶界面 》ppt課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第十一章圖形用戶界面(GUI)設(shè)計(jì)學(xué)習(xí)目標(biāo):GUI相關(guān)概念布局管理器的概念和使用方法事件處理的方法和過(guò)程常用Swing組件的使用11.1圖形用戶界面概述(1)java.awt包AWT組件——重組件Button(按鈕)、TextField(文本框)(2)javax.swing包Swing組件——輕組件JButton(按鈕)、JTextField(文本框)使用Swing組件使用AWT組件觀感Windows觀感Java觀感Motif觀感11.1圖形用戶界面概述2、組件、容器、布局和觀感(1)組件:可圖形化的方式顯示在屏幕上,能夠
2、與用戶交互。(2)容器:一種特殊的組件,能容納其他組件或容器。頂層容器:JFrame、JApplet、JWindow、JDialog中間層容器:JPanel、JScrollPane、JTabbedPane添加組件:add(…)刪除組件:remove(…)(3)布局:專門管理組件在容器中的布局的工具——布局管理器(4)觀感:決定swing應(yīng)用程序的外觀。默認(rèn)Java觀感(又稱為Metal觀感)11.1圖形用戶界面概述11.2布局管理器Java中的布局類型包括以下幾種:FlowLayout(流式布局)BorderLayout(
3、邊界布局)CardLayout(卡片布局)GridLayout(網(wǎng)格布局)GridBagLayout(網(wǎng)格包布局)一種最簡(jiǎn)單的布局。組件一個(gè)接一個(gè)從左到右、從上到下一排一排依次放在容器中。默認(rèn)的每一行的組件都居中對(duì)齊,水平和垂直間隙是5個(gè)像素。FlowLayout是Panel、Jpanel、Applet的默認(rèn)布局管理器構(gòu)造方法:FlowLayout();FlowLayout(intalign);FlowLayout(intalign,inthgap,intvgap);12.2.2FlowLayout布局importjava
4、.awt.*;importjavax.swing.*;publicclassFlowLayoutDemoextendsJFrame{publicFlowLayoutDemo(){super("FlowLayout布局");Containerc=getContentPane();FlowLayoutf=newFlowLayout(FlowLayout.LEFT,10,10);c.setLayout(f);for(inti=1;i<=10;i++){c.add(newJButton("按鈕"+i));}}publicstati
5、cvoidmain(Stringargs[]){JFrameframe=newFlowLayoutDemo();frame.setSize(250,200);frame.setVisible(true);}}又叫邊界布局管理器。將容器分為東(EAST)、南(SOUTH)、西(WEST)、北(NORTH)、中(CENTER)五個(gè)區(qū)。按照“上北下南,左西右東”的規(guī)則分配Window、Dialog、Frame的默認(rèn)布局;JFrame、JApplet、JDialog的內(nèi)容窗格的默認(rèn)布局構(gòu)造方法:BorderLayout()Bord
6、erLayout(inthgap,intvgap)11.2.3BorderLayout布局將布局分為若干個(gè)大小相等的網(wǎng)格。當(dāng)容器尺寸改變時(shí),組件大小改變,但相對(duì)位置不變構(gòu)造方法:GridLayout()GridLayout(introws,intcols)GridLayout(introws,intcols,inthgap,intvgap)11.2.4GridLayout布局11.2.5CardLayout類似于卡片的布局設(shè)置CardLayout的主要方法:first(Containerparent):翻轉(zhuǎn)到容器的第一張卡
7、片last(Containerparent):翻轉(zhuǎn)到容器的最后一張卡片next(Containerparent):翻轉(zhuǎn)到容器的下一張卡片previous(Containerparent):翻轉(zhuǎn)到容器的上一張卡片show(Container?parent,Stringname):翻轉(zhuǎn)到已添加的指定name的組件使用GridBagLayout實(shí)現(xiàn)如圖所示布局效果11.2.6GridBagLayoutBoxLayout盒式布局的容器將組件排列在一行或一列,這取決于創(chuàng)建盒式布局對(duì)象時(shí)是否指定行排列還是列排列。構(gòu)造方法:BoxLay
8、out(Containertarget,intaxis)X_AXISY_AXISBox類:createHorizontalBox()createVerticalBox()createHorizontalStruct(intwidth)createVerticalStruct(intheight)11.2