第5图形用户界面设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第5图形用户界面设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图形 用户界面 设计 课件
- 资源描述:
-
1、第5章 图形用户界面设计v教学目标:v通过本章的学习,掌握常用容器组件的用法、容器组件的布局方式、组成界面的可视组件的功能与用法;掌握事件处理机制,能进行菜单设计,最终达到开发出智能化的图形界面应用程序的目的。v案例 学生信息注册界面设计解析v多数学校的学生档案信息都由计算机进行管理,在编写的档案管理应用程序中,有档案信息录入模块,该模块的功能是在图形化的界面下,用户把信息输入到计算机中。录入界面的大致样式及组件名称如图 v设计上述程序界面并实现相应的功能,程序框架如下:vpublic class InputData implements ActionListenervvFrame f;/声明
2、框架对象vLabel l1,l2,l3,l4;/声明标签对象vTextField t;/声明文本行对象vCheckbox r1,r2;/声明单选按钮对象vCheckboxGroup g;/声明组对象vCheckbox c1,c2,c3;vChoice ch;/声明选择框对象vButton b;/声明按钮对象vTextArea ta;/声明文本区对象vPanel p1,p2,p3,p4,p5;/声明面板对象vint i=0;vvpublic InputData()vv对象实例化;vch.add(济南);/添加选择项vp1=new Panel();vp1.setLayout(new FlowLay
3、out(FlowLayout.LEFT);/设定面板布局样式vp1.add(l1);/在面板中加入组件vf.setLayout(new GridLayout(2,1);/设定框架布局样式vf.addWindowListener(new WindowAdapter()/注册事件监听器,匿名类实现接口vpublic void windowClosing(WindowEvent e)vSystem.exit(0););vf.setVisible(true);vvvpublic void actionPerformed(ActionEvent e)/事件处理接口实现v v /把输入内容显示到文本区中;
4、vvpublic static void main(String args)vvnew InputData();vvv在上面的案例框架中,应用到了如下知识点。v(1)组成界面的各种组件。v(2)界面的布局样式。v(3)事件处理机制。v下面将详细介绍相关的知识。5.1 框架与面板 v5.1.1 认识Component类 v部分类的继承关系如图 vComponent类是其他组件类的父类,在此介绍该类的一些方法,这些方法可直接继承到子类中使用。v(1)setFont(Font f):设置组件的字体。v(2)setForeground(Color r):设置组件的前景色。v(3)setLocation
5、(int x,int y):设置组件的显示位置。v(4)setSize(int width,int height):调整组件的大小,使其宽度为 width,高度为 height。v(5)setVisible(boolean b):根据参数 b 的值显示或隐藏此组件。v(6)getForeground():获得组件的前景色。v(7)getFont():获得组件的字体。v(8)getBackground():获得组件的背景色。v(9)getHeight():返回组件的当前高度。v(10)invalidate():使此组件无效。v(11)getBounds():以Rectangle 对象的形式获得组
6、件的边界。v5.1.2 框架v框架类Frame是一种带标题条并且可以改变大小的窗口,该类为容器类。Frame类的构造方法及实例方法:类别方 法 定 义功 能构造方法public Frame()创建一个不带标题信息的框架public Frame(String title)创建一个标题信息是title的框架实例方法public void add(Component comp)在框架中添加组件comppublic void setLayout(LayoutManager mgr)设置布局方式public void setTitle(String title)设置框架的标题public String
7、getTitle(String title)获取框架的标题v5.1.3 面板v面板类Panel也是容器类。但与Frame类的区别是,面板是一种没有标题条的容器,在应用时只能把该类实例化的对象通过Container类的add方法加载到Window对象中。v该类的构造方法如下。v(1)public Panel():创建一个面板对象。v(2)public Panel(LayoutManager mgr):创建一个面板对象且约定了添加到该面板中组件的布局样式。5.2 布局管理器v5.2.1 边界布局v该布局将容器组件划分成了5个区域:南(South)、北(North)、东(East)、西(West)、
8、中(Center)。v边界布局类边界布局类v边界布局类为BorderLayout,该类的构造方法如下。v(1)public BorderLayout():创建一个边界布局管理类对象。v(2)public BorderLayout(int hgap,int vgap):创建一个边界布局管理类对象。其中,hgap和vgap指定组件的水平和垂直间距,单位是像素,默认值为0。v若向容器中加入组件,可以通过以下两种形式实现。v(1)add(String s,Component comp):其中s代表位置,位置用字符串“South”、“North”、“East”、“West”、“Center”表示。v(2
9、)add(Component comp,int x):其中x是代表位置的常量值,分别是BorderLayout.SOUTH、BorderLayout.NORTH、BorderLayout.EAST、BorderLayout.WEST、BorderLayout.CENTER。v说明:(1)在边界布局中,若向框架加入组件,如果不指定位置,则默认把组件加到了“中”的区域。v(2)若某个位置未被使用,则该位置将被其他组件占用。v5.2.2 流布局v该布局按从左至右、从上至下的方式将组件加入到容器中。v流布局类流布局类v流布局类为FlowLayout,该类的构造方法如下。v(1)public FlowL
10、ayout():创建一个流布局类对象。(2)public FlowLayout(int align):创建一个流布局类对象,其中align表示对齐方式,其值有3个,为FlowLayout.LEFT、FlowLayout.RIGHT、FlowLayout.CENTER,默认为FlowLayout.CENTER。v(3)public FlowLayout(int align,int hgap,int vgap):其中align表示对齐方式;hgap和vgap指定组件的水平和垂直间距,单位是像素,默认值为5。v5.2.3 网格布局v该布局将容器划分成规则的行列网格样式,组件逐行加入到网格中,每个组件
11、大小一致。但当容器中放置的组件数超过网格数时,则自动增加网格列数,行数不变。v1网格布局类v网格布局类为GridLayout,该类的构造方法如下。v(1)public GridLayout(int rows,int cols):rows表示网格行数,cols表示网格列数。v(2)public GridLayout(int rows,int cols,int hgap,int vgap):rows表示网格行数,cols表示网格列数;hgap和vgap指定组件的水平和垂直间距,单位是像素。v5.2.4 卡片布局v使用该布局样式布局容器中的组件时,组件就会像卡片一样排放在容器中,只有最上面的卡片可见
12、。类别类别方方 法法 定定 义义功功 能能构造构造方法方法public CardLayout()创建一个卡片对象创建一个卡片对象实例实例方法方法public void add(String name,Component c)添加组件添加组件c,并指定组件的名称,并指定组件的名称为为namepublic void first(Container parent)显示第一张卡片显示第一张卡片public void last(Container parent)显示最后一张卡片显示最后一张卡片public void next(Container parent)显示下一张卡片显示下一张卡片public v
13、oid previous(Container parent)显示前一张卡片显示前一张卡片public void show(Container parent,String name)显示指定名称的卡片显示指定名称的卡片5.3 按钮、标签、文本行、文本区 v5.3.1 按钮(Button)v图形用户界面中,按钮常用于接收用户的单击事件。v1.构造方法v(1)public Button():通过该构造方法创建按钮时,按钮上没有说明信息。v(2)public Button(String s):通过该构造方法创建按钮时,按钮上的说明信息为s。v2.常用方法v(1)public void setLabel
14、(String s):通过该方法,把按钮上的说明信息设为s。v(2)public String getLabel():通过该方法,获取按钮上的说明信息。v5.3.2 标签(Label)v标签的功能是显示静态文本,不能动态地编辑文本,作为提示信息通常由标签实现。v1构造方法v(1)public Label():通过该构造方法创建标签时,标签没有提示信息。v(2)public Label(String s):通过该构造方法创建标签时,标签上显示的提示信息为s。v(3)public Label(String s,int align):通过该构造方法创建标签时,标签上的提示信息为s,并设定了标签文本的
15、对齐方式,分别为Label.LEFT(左对齐)、Label.RIGHT(右对齐)、Label.CENTER(居中对齐),默认对齐方式为居中对齐。v2常用方法v(1)public void setText(String s):通过该方法,把标签上的提示信息设为s。v(2)public String getLabel():通过该方法,获取标签上的提示信息。v5.3.3 文本行(TextField)v文本行用来输入单行文本。类别类别方方 法法 定定 义义功功 能能构造构造方法方法public TextField()创建一个内容为空的文本行创建一个内容为空的文本行public TextField(St
16、ring s)创建一个内容为创建一个内容为s的文本行的文本行public TextField(int x)创建一个能显示创建一个能显示x个字符的文本行个字符的文本行public TextField(String s,int x)创建一个内容为创建一个内容为s的文本行,且文本行长度的文本行,且文本行长度为为x实例实例方法方法public void setText(String s)设置文本行中的内容为设置文本行中的内容为spublic String getText()获取文本行中的内容获取文本行中的内容public void setEchoChar(char c)设置文本行的回显字符。常用于口令
17、输入设置文本行的回显字符。常用于口令输入public void setEditable(boolean b)设置文本的可编辑性。当参数值为设置文本的可编辑性。当参数值为false时,时,只能只能显示,不能修改显示,不能修改v5.3.4 文本区(TextArea)v文本区可以输入多行文本,且文本区带有滚动条。类别类别方方 法法 定定 义义功功 能能构造构造方法方法public TextArea()创建一个内容为空的文本区对象创建一个内容为空的文本区对象public TextArea(String s)创建一个内容为创建一个内容为s的文本区对象的文本区对象public TextArea(int x
18、,int y)创建一个内容为空且行数为创建一个内容为空且行数为x、列数为、列数为y的文本的文本区对象区对象public TextArea(String s,int x,int y)创建一个内容为创建一个内容为s且行数为且行数为x、列数为、列数为y的文本区的文本区对象对象public TextArea(String s,int x,int y,int scollbar)创建一个内容为创建一个内容为s、行数为、行数为x、列数为、列数为y、滚、滚动条样式为指定样式的文本区对象。动条样式为指定样式的文本区对象。scollbar取值为:取值为:TextArea.SCOLLBARS_BOTH,TextAr
19、ea.SCOLLBARS_VERTICAL_ONLY,TextArea.SCOLLBARS_HORIZONTAL_ONLY,TextArea.SCOLLBARS_NONE实例实例方法方法public void append(String s)在文本区尾部追加文本内容在文本区尾部追加文本内容s实实例例方方法法public void insert(String s,int position)在文本区位置在文本区位置position处插入文本处插入文本spublic void setText(String s)设置文本区中的内容为文本设置文本区中的内容为文本spublic String getTex
20、t()获取文本区的内容获取文本区的内容public String getSelectedText()获取文本区中选中的内容获取文本区中选中的内容public void replaceRange(String s,int start,int end)把文本区中从把文本区中从start位置开始至位置开始至end位置之间的文本位置之间的文本用用s替换替换public void setCaretPosition(int position)设置文本区中光标的位置设置文本区中光标的位置public int getCaretPosition()获得文本区中光标的位置获得文本区中光标的位置public voi
展开阅读全文