欢迎来到天天文库
浏览记录
ID:27242690
大小:703.01 KB
页数:44页
时间:2018-11-30
《《图形用户界面 》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十一章图形用户界面(GUI)设计学习目标:GUI相关概念布局管理器的概念和使用方法事件处理的方法和过程常用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应用程序的外观。默认Java观感(又称为Metal观感)11.1图形用户界面概述11.2布局管理器Java中的布局类型包括以下几种:FlowLayout(流式布局)BorderLayout(
3、边界布局)CardLayout(卡片布局)GridLayout(网格布局)GridBagLayout(网格包布局)一种最简单的布局。组件一个接一个从左到右、从上到下一排一排依次放在容器中。默认的每一行的组件都居中对齐,水平和垂直间隙是5个像素。FlowLayout是Panel、Jpanel、Applet的默认布局管理器构造方法: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)五个区。按照“上北下南,左西右东”的规则分配Window、Dialog、Frame的默认布局;JFrame、JApplet、JDialog的内容窗格的默认布局构造方法:BorderLayout()Bord
6、erLayout(inthgap,intvgap)11.2.3BorderLayout布局将布局分为若干个大小相等的网格。当容器尺寸改变时,组件大小改变,但相对位置不变构造方法:GridLayout()GridLayout(introws,intcols)GridLayout(introws,intcols,inthgap,intvgap)11.2.4GridLayout布局11.2.5CardLayout类似于卡片的布局设置CardLayout的主要方法:first(Containerparent):翻转到容器的第一张卡
7、片last(Containerparent):翻转到容器的最后一张卡片next(Containerparent):翻转到容器的下一张卡片previous(Containerparent):翻转到容器的上一张卡片show(Container parent,Stringname):翻转到已添加的指定name的组件使用GridBagLayout实现如图所示布局效果11.2.6GridBagLayoutBoxLayout盒式布局的容器将组件排列在一行或一列,这取决于创建盒式布局对象时是否指定行排列还是列排列。构造方法:BoxLay
8、out(Containertarget,intaxis)X_AXISY_AXISBox类:createHorizontalBox()createVerticalBox()createHorizontalStruct(intwidth)createVerticalStruct(intheight)11.2
此文档下载收益归作者所有