《图形化用户界面设计》.pptx

上传人:牧羊曲112 文档编号:6526811 上传时间:2023-11-09 格式:PPTX 页数:86 大小:928.04KB
返回 下载 相关 举报
《图形化用户界面设计》.pptx_第1页
第1页 / 共86页
《图形化用户界面设计》.pptx_第2页
第2页 / 共86页
《图形化用户界面设计》.pptx_第3页
第3页 / 共86页
《图形化用户界面设计》.pptx_第4页
第4页 / 共86页
《图形化用户界面设计》.pptx_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《《图形化用户界面设计》.pptx》由会员分享,可在线阅读,更多相关《《图形化用户界面设计》.pptx(86页珍藏版)》请在三一办公上搜索。

1、第八章 图形化用户界面设计,本章英文缩略词列表,图形化用户界面GUI,程序开发已经成为Java编程的主流。Java提供了AWT与 Swing两套以面向对象方式实现跨平台开发的GUI类库包,二者都是Java基础类库JFC(Java Foundation Classes)的重要组成部分,AWT,AWT(Abstract Window Toolkit)是低版本JDK提供的GUI开发工具包,包含60多个组件类与接口,定义了布局管理器与事件处理机制,能够快捷而有效地开发基于窗口或基于Applet的GUI应用,Swing,Swing是Java 2发布的功能更加完善的第二代GUI开发工具集,它构建在AWT基

2、础之上,其事件处理机制、布局管理模式与图形绘制功能,仍然沿用AWT已有的技术成果Swing能够替代AWT,包含250多个更为丰富多样的类与接口,支持复杂GUI系统的开发,AWT的组件类,GUI组件(Component)又可译作GUI构件,是组成GUI应用程序的图形用户界面元素(如菜单、文本框、标签、命令按钮等)。每在GUI组件都与一个特定的与操作系统平台无关的组件类相对应。这些组件相互配合,可以快速搭建起GUI程序Java将GUI组件类分类分层,组织到一个名为java.awt的包中。用”import java.awt.*;”语句导入该包中含有的所有类与接口,AWT组件类的继承关系,AWT的基本

3、组件列表,AWT的容器组件,GUI组件按照功能可分为基本组件与容器组件组件不能直接在程序运行界面中显示,必须放置在容器内才能呈现出来。容器自身首先也是一种组件,具有其他组件的共同特性;其次容器是一种特殊的组件,其特殊性在于容器的功能是用来容纳一般的组件对象与容器组件对象的,即容器除提供给其他组件作为安置场所外,其自身还可相互嵌套,AWT容器类的层次结构,顶级容器组件,顶级容器,就是能够直接加载到桌面,由桌面管理系统来管理,而不需要放置在任何其他容器对象内,并且能够作为其他容器属主的容器组件Container类直接派生出Window类、Panel类、ScrollPane类等几种容器子类Windo

4、w类作为顶层窗口类,不依赖于其他容器而独立存在。Window类直接派生两个子类:Frame类与Dialog类Window、Frame及Dialog是唯一有资格作为顶级容器窗口的三类组件,AWT容器组件的特征,窗口容器组件Window,Window类为Frame类与Dialog类的基类,由它生成的Window对象称为窗口Window对象不拥有边框与菜单栏,在创建Window对象时,必须指明它的属主(owner)对象;能用作窗口属主的组件只能为顶级容器window、frame及dialog。用户编程时很少直接使用Window类对象作为程序的界面窗口,通常会使用该类的Frame子类生成应用窗口,框架

5、容器组件Frame,框架组件Frame是AWT应用程序最常使用的基本容器窗口之一,Frame对象可以带有边框、标题栏、菜单栏与窗口缩放功能按钮(包括窗口最大化、最小化及关闭三个按钮)Frame类提供了大量的方法来完成窗口对象的生成与设置,颜色(Color)类,通过AWT提供的Color类,可以为窗体或其他组件设置前景色与背景色。Color类的完整路径为,该类定义了与颜色相关的常量与方法Color类中封装了常用的13种标准颜色的符号常量。如:Color.BLACK Color.WHITE Color.RED Color.GREEN Color.BLUE Color.YELLOW 等,三原色原理,

6、Java中,颜色由红、绿、蓝三种分量构成,每种分量都是0,255范围内的整数值,或者是0.0,1.0范围内的实数值,分量的取值代表了该分量的色彩与亮度。红(Red)、绿(Green)、蓝(Blue)三种分量被称为光的三原色三原色所有可能取值的组合,能够形成256256256 种不同的色彩。与每种色彩对应的三原色的分量值称为该色彩的RGB值通过RGB方式形成颜色的原理,被称为光的三原色原理,颜色设置,GUI编程中,Color类定义了操作颜色的常量与方法,该类的完整包路径为Color类常用的三种构造方法的定义为:,获取RGB颜色分量的方法,Color类提供了获取RGB颜色分量的对应方法:,字体Fo

7、nt类,通过Font类可以创建字体对象,为文本设置字体属性。字体的属性通常包括以下三种:,字体名称(Font Name),当前环境下可用的字体名称取决于系统中安装的字库Java系统为用户提供了五种标准的逻辑字体:SansSerif、Serif、Monospaced、Dialog和DialogInput系统将根据当前机器状态,自动将逻辑字体映射为计算机上的物理字体,字体样式(Font Style),Java定义了三种枚举常量,来代表标准的字体样式。在具体应用中,常用加号(+)将这些常量连接起来,得到同时具备几种样式的复合样式,字体尺寸(Font Size),字体尺寸表示字体的大小,以像素为单位对

8、于具有可见的文本属性的组件,可以调用继承自Component基类的setFont方法设置文字setFont方法的原型定义如下:void setFont(Font f);,字体设置示例,Java的屏幕坐标系,Java的GUI屏幕坐标原点(0,0)对应位置为屏幕的左上角,缺省的坐标单位为屏幕像素GUI应用程序的窗体起始位置默认为屏幕原点(0,0),X坐标由左至右增加,Y坐标由上至下增加使用setLocation(x,y)或setBounds(x,y,width,height)方法可以将应用窗体的左上角位置设置到指定的屏幕位置(x,y),窗体与屏幕坐标系,创建AWT应用窗体的步骤,以Frame组件为

9、例,创建应用程序窗体的步骤如下:,创建AWT应用窗体的步骤(续),Swing的组件类,Swing的容器组件,内容窗格ContentPane,内容窗格ContentPane是一个用来包含除菜单栏以外的其他GUI组件的容器对象低版本的JDK中,向JFrame窗口中添加组件时,必须先取得它的ContentPane对象,然后再使用add()方法把组件加入到ContentPane对象中,添加组件到内容窗格的方法1,【方法1】使用JFrame类的getContentPane方法首先获得当前JFrame窗体的ContentPane对象,然后调用ContentPane对象的add方法添加GUI组件实现格式如下

10、:Container contentPane=.getContentPane();contentPane.add();,有2种方法将GUI组件添加到JFrame对象的内容窗格中:,添加组件到内容窗格的方法2,【方法2】先生成一个新的容器对象作为JFrame窗体的内容面板:通常选用面板组件JPanel担当此任,JPanel本身是容器组件,可以容纳其他的GUI元素再设置容器对象的布局管理器等属性,并使用add方法将组件添加到JPanel对象中然后使用JFrame类的setContentPane方法将JPanel对象设置为JFrame窗体的内容面板setContentPane方法的原型定义为:pub

11、lic void setContentPane(ContainercontentPane),创建JFrame窗口的步骤,创建JFrame窗口的步骤(续),创建JFrame窗口的步骤(续),关闭窗体的操作,JFrame类提供了关闭窗体的setDefaultCloseOperation方法该方法的原型如下:public void setDefaultCloseOperation(int operation);其中参数operation,为关闭时所使用的行为控制选项,控制选项operation,控制选项operation可用的枚举常量为:,框架窗体JFrame示例,面板类JPanel,Swing的J

12、Panel与AWT的Panel的共有特征是都不能移动、放大、缩小或关闭;Panel组件没有无边框,JPanel则可以添加边框JPanel不能作为图形界面的顶端容器,只能作为一个中间容器组件,被加入到JFrame或JApplet等顶层容器中,用于提供空间,将小型的轻量级组件组合在一起JPanel 的缺省布局管理器方案为 FlowLayout。它的大小由包含在JPanel中的其他组件及顶层窗口的布局管理策略所共同决定。JPanel组件可以相互嵌套,即JPanel组件可以加入到另一个JPanel对象内,Swing的基本组件,Swing还包含一些基本组件,它们是搭建GUI程序界面的基本元素。这些基本组

13、件不像容器组件,不允许在自身区域内放置其他组件,而自己必须放置在容器中,并随着容器窗口一起显示。基本组件的位置、大小与排列状况通常会受到容器对象所采用的布局管理方案的影响Swing的基本组件类由JComponent继承而来,类名一律以英文字母“J”为首字母。这些组件类位于javax.swing包中,GUI应用程序要使用它们,必须先用“import javax.swing.*;”语句导入该包中的类,Swing组件类的继承结构,Swing主要的基本组件,标签组件JLabel,Jlabel是静态组件,能够显示文字和图像图标,而不能够对显示内容进行编辑操作JLabel类主要的构造方法如下表所示:,标签

14、JLabel常用的方法,命令按钮组件JButton,Swing的JButton又称为命令按钮或Swing按钮,简称按钮。可以给按钮添加图像图标,指定快捷键以及设置按钮的对齐方式,还可以将多个不同的图像图标分配给同一个按钮,以区分按钮所处的不同的操作状态JButton类重要的方法与JLabel类的极为近似,JButton常用的方法,文本框组件JTextField,JTextField组件称为文本框,该组件用来定义一个可以输入与编辑单行文本的矩形框JTextField类主要的构造方法如下表所示:,文本框组件常用的方法,文本区组件JTextArea,JTextArea组件称为文本区,该组件用来定义一

15、个可以输入多行文本内容的矩形区域。通过将文本区组件加入到滚动窗格(JScrollPane)内,或者为文本区组件绑定滚动条(ScrollBar)等手段,能够实现让文本区出现水平、垂直滚动条,使视图区域有限的文本区,通过操作滚动条,而将无法全部显示出来的文本内容进行上下翻动与左右滚动,文本区组件常用的方法,文本区JTextArea示例,密码框组件JPasswordField,JPasswordField类是JTextField类的子类,该类对象允许输入或编辑单行文本,但是文本在显示时被其他字符所替代,从而屏蔽掉用户输入的重要信息,起到加密的作用JPasswordField组件常用于密码输入等场合,

16、密码框组件常用的方法,选择类组件,选择类组件包括单选按钮JRadioButton与复选框JCheckBox两种组件类JRadioButton与JCheckBox有两种互斥状态:“选中”状态和“未选中”状态,或者ON状态和OFF状态,单选按钮组件JRadioButton,单选按钮JRadioButton组件默认外观是一个带有文本标签的小圆形。当单选按钮处于选中状态时,圆形为实心;取消选中时,圆形变为空心单选按钮可以包含文本标签,也可以包含图标。文本标签用来表明选项代表的意义;图标用更直观的小图像表明选项的功能,复选框组件JCheckBox,JCheckBox组件称为复选框,其默认外观是一个带有文

17、本标签的小方框。复选框处于选中状态时,方框中会出现小对钩;取消选中时,对钩消失复选框可以进行多重选择,复选框的选取或取消操作,均可使用鼠标单击来完成:首次单击某一复选框选取该选项,再次单击,则取消选取。建立复选框组件时需要使用标签来表明该复选框的含义,标签在创建复选框的构造方法中进行设置,单选按钮和复选框共同的构造方法,单选按钮和复选框共同的方法,选择类组件示例,ButtonGroup类,为实现一组相关单选按钮的互斥性,有时需要将这些按钮加入到一个ButtonGroup对象中。ButtonGroup类对一组相关按钮的选中或未选中状态进行管理,它能够确保在任一时刻最多只能有一个按钮处于选中状态B

18、uttonGroup能够对由AbstractButton抽象类派生出的某些子类对象起作用,这些子类对象必须具有“选中/未选中”两种状态对于刚加入到ButtonGroup对象中的按钮而言,其初始状态皆为未选中状态,ButtonGroup类的主要方法,列表框组件JList,Swing的列表类组件包括列表框JList和组合框JComboBoxJList组件在一列或多列中显示出一组项目列表,用户可以从中选择一项或多项。JList类主要的构造方法如下表所示:,列表框组件的选择模式,JList为用户提供了三种选择模式,分别与三个符号常量相对应,这三个符号常量由接口ListSelectionModel定义J

19、List的三种选择模式与对应常量分别为:,建立列表框的步骤,建立列表框的步骤(续),在监听器对象所属的类中实现valueChanged()方法,用getSelectedValues()方法获取用户所选择的列表项目;用getSelectedIndices()方法获取用户所选顶目所对应的索引号,组合列表框组件JComboBox,组合框JComboBox是文本域和下拉列表的组合,只显示最前面的一项或被用户选中的某一项新建一个有内容的组合框,既可以通过数组或向量方式,也可以通过添加选项的方式来完成。可以用setEditable方法对组合框的被编辑属性可以进行设置JComboBox类提供了多个编辑、修改

20、列表项的方法,如插入表项方法insertItermAt、删除表项方法removeItemAt等当用户在组合框中选中了一个或多个表项后,调用getSelectedItem方法或getSelectedObjects方法,能够获取当前被选中表项的数据,组合列表框重要的方法,组合列表框重要的方法(续),组合列表框示例,列表框与组合框示例,布局管理器(Layout Manager),布局管理器是Java系统预先定义的一组类,这些类根据一定的算法与策略,对容器中的组件进行自动排列,并依据容器组件尺寸与位置的变化,对组件的排列与布局进行相应的调整,使得各组件的排放格局尽可能有序、合理、协调与美观,AWT的布

21、局管理器,java.awt包提供了多种布局管理器类,每种布局管理器都封装了与组件对象的排列和调整有关的属性与方法AWT常用的布局管理器类的名称和特性如下表所示:,AWT容器的布局策略,边界布局BorderLayout,BorderLayout将整个容器空间划分为上、下、左、右和中间五个区域,将五个区域分别命名为North、South、West、East、Center,分别用BorderLayout类定义的五个静态符号常量:NORTH、SOUTH、WEST、EAST及CENTER来标识它们,其中每个区域中至多可放置一个组件,边界布局的空间划分,边界布局的重要方法,网格布局GridLayout,G

22、ridLayout管理器将整个容器空间划分为m行n列的规则网格,每个网格单元都是一个大小相同的矩形区域,每个区域可以摆放一个组件对象。用add方法向实施了GridLayout方案的容器中添加GUI组件时,系统按组件添加的顺序,从左到右,先将它们依次安置到第一行的各个网格单元内;第一行占满后,由上而下,再依次安排第二行,第三行,直到所有的组件全部安排完毕,网格布局的使用步骤,网格布局示例,流式布局FlowLayout,FlowLayout是容器Panel和它的子类Applet缺省使用的布局编辑策略,如果不专门为Panel或Applet指定布局编辑器,则它们就使用FlowLayout的布局策略FlowLayout对应的布局策略非常简单。遵循这种策略的容器将其中的组件按照加入的先后顺序从左向右排列,一行排满之后就下转到下一行继续从左至右排列,每一行中的组件都居中排列;在组件不多时,使用这种策略非常方便,但是当容器内的GUI元素增加时,就显得高低参差不齐,流式布局的构造方法,创建FlowLayout类对象可使用下面的两种构造方法:,流式布局示例,卡片布局CardLayout,CardLayout的容器表面上可容纳多个组件,但实际上同一时刻容器只能选一个来显示,每次只能显示最上面的一张,被显示组件将占据所有容器空间,卡片布局的使用步骤,卡片布局示例,再 见,谢谢配合!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号