gui设计与实现

上传人:第*** 文档编号:61502815 上传时间:2018-12-02 格式:PPT 页数:61 大小:393.50KB
返回 下载 相关 举报
gui设计与实现_第1页
第1页 / 共61页
gui设计与实现_第2页
第2页 / 共61页
gui设计与实现_第3页
第3页 / 共61页
gui设计与实现_第4页
第4页 / 共61页
gui设计与实现_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《gui设计与实现》由会员分享,可在线阅读,更多相关《gui设计与实现(61页珍藏版)》请在金锄头文库上搜索。

1、第11章 学习目的、知识点、基本要求,学习目的: 学习图形编程知识,主要学习图形用户界面中常用的组件;窗口的显示、文字和图像的显示、事件处理等。 基本知识点: * 图形用户界面设计的主要工作; * 图形用户界面事件处理技术; * 容器与5种布局的使用; * 常用组件的学习; * 窗口、菜单、对话框等实用设计技术。,第11章 学习目的、知识点、基本要求,基本要求: * 掌握图形用户界面设计的主要工作; * 理解图形用户界面事件处理方法; * 掌握容器与布局的使用; * 熟练掌握常用组件; * 学会窗口、菜单、对话框等实用设计技术。,第11章 GUI设计与实现,11.1 GUI程序概述 11.2

2、事件处理 11.3 容器与布局 11.4 几个常用的组件 11.5 窗口、菜单和对话框实例 11.6 Swing简介,11.1 图形用户界面设计概述,什么是GUIGraphics User Interface 生成GUI的类库 java.awt包和javax.swing包 GUI设计主要工作: 创建组件、布局管理、事件处理 组件:构成图形用户界面的最小元素。 布局管理:是对图形用户界面中容器内的所有组件进行位置和大小的设计。 事件处理:,GUI支持包,java.awt包 包含和提供大量进行GUI设计所使用的了和接口,包括绘制图形、设置字体和颜色、控制组件、处理事件等内容,它是程序设计的基础。

3、javax.swing包 提供了从按钮到可拆分面板和表格的所有组件。它是第二代GUI设计工具包,它以AWT为基础且新增和改进了一些组件。,11.2 事件处理,11.2.1 事件与事件处理方法 在Java中,程序和用户的交互是通过响应各种事件来实现的。 每当一个事件发生,Java虚拟机就会将事件的消息传送给的消息传送给程序(针对各种事件作出反应所编写的一个或者是多个事件处理方法),有程序中的事件处理方法对事件进行处理。 Java通过委托事件处理机制解决如何对事件作出响应。,11.2.2 Java的事件处理机制1,GUI中事件和事件响应的基本原理 (1)识别(注册)操作功能; (2)响应操作功能。

4、 Java中将一系列操作事件定义成不同处理代码。 Java的事件处理机制 (1)事件源每个可能产生事件的组件称为事件源; (2)监听者在事件源上发表的事件必须注册给处理 该 事件源上那种类型事件的容器或对象。它应该 具有 监听和处理该事件的功能。,11.2.2 Java的事件处理机制2,事件源能产生事件的组件叫事件源。 监听器用来注册不同类型事件的监听者。 委托事件处理机制: 事件源注册 + 对发生事件的处理。 注册方法: 通过事件源本身的相关方法以监听者对象为实际参数来实现。 处理方法: 当事件上发生监听者可以处理的事件时,事件源把这个事件的对象作为实际参数传递给监听者中负责处理这类事件的方

5、法,该方法被系统调用执行后(实现接口方法),事件就得到了处理。,11.2.2 Java的事件处理机制3,几点说明: (1)所有的GUI组件都是事件源。 (2)所有监听器接口都从java.util.EventListener 接口扩充而来。 (3)多数事件类存放在: java.awt.event / javax.swing.event 包中 (4)GUI程序和GUI线程的区别: GUI程序指包含GUI的应用程序或小应用程序; GUI线程指在运行时,运行系统自动创建的、用于负责GUI绘制和事件处理的一个线程。,委托事件模型:,常用的事件类,动作事件java.awt.event.ActionEven

6、t 项目事件java.awt.event.ItemEvent 键盘事件java.awt.event.KeyEvent 焦点事件java.awt.event.FocusEvent 鼠标事件java.awt.event.MouseEvent 窗口事件java.awt.event.WindowEvent 列表选择事件javax.swing.event.ListSelection 文档事件javax.swing.event.DocumentEvent,容器、组件,用户定义成分 用户定义的成分只能起到装饰、美化的作用,不能影响用户的动作,也不具有交互功能。,容器(container) 容器是用来组织其他

7、界面成分和元素的单元。 其作用是可分解图形,整理界面,层层嵌套。,控制组件(component) 控制组件是图形用户界面的最小单位 之一,它里面不再包含其他的成分。 作用是完成与用户的一次交互 (一条命令的执行)。 控制组件的创建与使用: (1)创建某控制组件类的对象,指定 其大小等属性; (2)合理布局,将控制组件对象加入 到某个容器中的指定位置; (3)将该组件对象注册给它所能产生 的事件对应的事件监听者,重载事件 处理方法,实现利用该组件对象与用 户交互的功能。,11.3 容器与布局,Swing组件从功能上分: (原子组件容器组件) 11.4.1 容器组件 容器组件包含: 窗口(JFra

8、me)、对话框(JDialog)、小应用程序(JApplet)、面板(JPanel)、滚动窗格(JScrollpane)、框(Box)等。,11.3.1 容器组件,(常用容器类的继承关系),11.3.1 容器组件,顶层容器 用于组织和显示原子组件和非顶层容器。 顶层容器三种: JFrame, JDialog, JApplet 非顶层容器 用于更好地管理和布置组件。 常用非顶层组件: JPanel, JScrollPane, Box,11.3.2 布局管理器,(1)BorderLayout:例题11-3 按东西南北中指定区域进行布局(默认为中) (2)FlowLayout:例题11-2 按顺序从

9、左向右排列布局(Applet默认为此) (3)CardLayout: 卡片叠放布局(每次只有一个组件占全容器进行显示) (4)GridLayout:例题11-4 按行列的网格形式,从左向右、从上向下进行布局 (5)BoxLayout:例题11-5 水平或垂直的方式布局 * Box容器必须使用BoxLaout布局方式。 (6)XYLayout:坐标布局,11.4 几个常用的原子组件,(常用原子组件类的继承关系),11.4.1 标签_JLabel,标签是用于显示一行文本、一个图标或者两者皆有。 1 常用的构造方法: (1) JLabel( ):创建不包含文本和图标的空标签。 (2) JLabel(

10、Icon image) :创建包含指定图标的标签。 (3) JLabel(String text) :创建包含指定文本的标签。 (4) JLabel(Icon image,int horizontalAlinment) 创建指定图标与水平对齐方式的标签。 (5) JLabel(String text,int horizontalAlinment) 创建指定文本与水平对齐方式的标签。 (6)JLabel(String text,Icon icon,int horizontalAlinment) 创建标签同时指定文本、图标与水平对齐方式。,11.4.1 标签,它是用于显示一行文本、一个图标或者两者

11、皆有。 2 实例方法: (1) setText(String text) 设置标签的文本字符串。 (2) String getText( ) 返回标签的文本字符串。 (3) setIcon(Icon icon) 设置标签的图标。 (4) setDisabledIcon(Icon disabledIcon) 设置标签不可用时要显示的图标。,11.4.2 按钮_JButton,按钮是一种JButton对象,也称为命令按钮,它用于完成某个特定的功能。按钮被单击是将引发ActionEvent事件。程序代码可以为按钮创建一个合适的ActionListener型监听器,用以监听处理这种事件,从而完成按钮特

12、定的功能。,11.4.2 按钮,创建按钮时可以指定一个文本标题或一个图标 常用方法: (1) JBotton( ):创建按钮不包含文本标题和图标 (2) JBotton(String s):创建按钮包含文本标题 (3) JBotton(Icon icon ):创建按钮包含指定图标 (4) JBotton(String text, Icon icon) 创建按钮包含文本标题 和指定图标 (5) setText(String s):设置按钮文本标题 (6) String getText( ):返回按钮文本标题 (7) setIcon(Icon defaultIcon):设置按钮图标 (8) Ico

13、n getIcon( ):返回按钮图标 (9) addActionListener(ActionListener) 注册ActionListener型监听器,11.4.3 复选框_JCheckBox,复选框是一种JCheckBox对象,用于让用户在两种状态中选择一种。 利用isSelected方法可以测试一个复选框的当前状态(true / false)。 复选框被单击时,其状态将改变,此时将引发ActionEvent事件和ItemEvent事件。 若设置自己的图标,那么未被选中时的图标和被选中的图标都需要设置。否则,不管选中与否,复选框显示的可能都是同一个图标。,11.4.3 复选框,1 常用

14、的构造方法: (1) JCheckBox(String text):指定文本标题,默认为。 (2) JCheckBox(String text, boolean selected) 指定文本标题和默认状态。 (3) JCheckBox(Icon icon):指定图标,默认状态为。 (4) JCheckBox(Icon icon, boolean selected) 指定图标和默认状态。 (5) JCheckBox(String text, Icon icon) 同时指定文本标题和图标。,11.4.3 复选框,2 实例方法: (1) void setSelected(boolean b):设置复

15、选框的状态。 (2) boolean isSelected( ):返回复选框的状态。 (3) void setText(String text):设置复选框的文本标题。 (4) String getText( ):返回复选框的文本标题。 (5) void setIcon(Icon defaultIcon) 设置复选框未被选中时的图标。 (6) void setSelectedIcon(Icon selectedIcon) 设置复选框被选中时的图标。 (7) void addActionListener(ActionListener l) 注册型ActionListener监听器。 (8) vo

16、id addItemListener(ItemListener l) 注册型ItemListener监听器。,11.4.4 单选钮_JRadioButton / ButtonGroup,单选钮总是成组出现,且其中只能有一个单选钮选中。 当选中一个新的按钮时,组中原先被选中的单选钮自动变成false状态。 JradioButton组件之间本身并不会排他选择; ButtonGroup组件之间具有排他选择。 单选钮组也会引发ActionEvent事件和ItemEvent 。程序可以为单选牛创建并注册合适的监听器监听处理、处理这类事件。,11.4.4 单选钮,JradioButton构造方法: (1) JradioButton(String text):指定文本标题,默认为false. (2) JradioButton(String text,boolean selected) 指定文本标题和默认状态。 (3) JradioButton(Icon icon):指定图标,默认为false. (4) Jrad

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号