《Java2网络编程基础》 第七章 AWT事件模型

Java2网络编程基础 第七章 AWT事件模型 Designed by Chiyong C2005
1 Designed by Chiyong,©2005 Java2 网络编程基础 AWT 事件模型 第七章

回顾 抽象窗口工具包(AWT)是一组类,用来创 建图形用户界面,并能够通过键盘和鼠标 响应用户的操作。 >两种常用容器类:框架( Frame类)和面板 ( Panel类) AT支持下列类型的组件:标签、文本域 文本区、按钮、复选框、列表框等。 布局管理器类提供控制GUI组件物理布局 的一种方式。 Designed by Chiyong C2005
2 Designed by Chiyong,©2005 回顾 ➢抽象窗口工具包(AWT)是一组类,用来创 建图形用户界面,并能够通过键盘和鼠标 响应用户的操作。 ➢两种常用容器类:框架(Frame类)和面板 (Panel类) • AWT支持下列类型的组件:标签、文本域、 文本区、按钮、复选框、列表框等。 • 布局管理器类提供控制 GUI 组件物理布局 的一种方式

目标 事件控制的要点 AWT事件结构 基本事件控制 使用多个监听器 匿名类 Designed by Chiyong C2005
3 Designed by Chiyong,©2005 目标 • 事件控制的要点 • AWT 事件结构 • 基本事件控制 • 使用多个监听器 • 匿名类

Java的基于授权的事件模型 >Java最新的事件处理方法是基于授权事 件模型 事件源生成事件并将其发送至一个或多个 监听器 >监听器简单地等待,直到它收到一个事件 旦事件被接受,监听器将处理这些事件 然后返回。 以下内容参照示例> Designed by Chiyong C2005
4 Designed by Chiyong,©2005 Java的基于授权的事件模型 ➢Java 最新的事件处理方法是基于授权事 件模型 ➢事件源生成事件并将其发送至一个或多个 监听器 ➢监听器简单地等待,直到它收到一个事件。 一旦事件被接受,监听器将处理这些事件, 然后返回。 以下内容参照示例>>

事件 在授权事件模型中,事件是一个描述事件 源状态改变的对象。 通过鼠标、键盘与GU界面直接或间接交 互都会生成事件。如:按下一个按钮 通过键盘输入一个字符、选择列表框中的 一项、点击一下鼠标等 Designed by Chiyong C2005
5 Designed by Chiyong,©2005 事件 • 在授权事件模型中,事件是一个描述事件 源状态改变的对象。 • 通过鼠标、键盘与GUI 界面直接或间接交 互都会生成事件。如:按下一个按钮、 通过键盘输入一个字符、选择列表框中的 一项、点击一下鼠标等

事件源、监听器和注册监听器 事件源(如:各种组件和容器)是一个生成事件 的对象 事件源是一个对象,它可以注册一个或多个监听 器对象,并向监听器发送事件对象。 个事件源可能会生成不同类型的事件。 事件源提供了一组方法,用于为事件注册一个或 多个监听器。 每种事件的类型都有其自己的注册方法。一般形 式为: public void add Listener(TypeListener e (也称为向事件源添加监听器) Designed by Chiyong C2005
6 Designed by Chiyong,©2005 • 事件源(如:各种组件和容器)是一个生成事件 的对象 • 事件源是一个对象,它可以注册一个或多个监听 器对象,并向监听器发送事件对象。 • 一个事件源可能会生成不同类型的事件。 • 事件源提供了一组方法,用于为事件注册一个或 多个监听器。 • 每种事件的类型都有其自己的注册方法。一般形 式为: public void addListener (TypeListener e) (也 称为向事件源添加监听器) 事件源、监听器和注册监听器

监听器接口方法和awt事件处理过程 事件源描述事件对象中事件的性质。 2.每个事件源都被映射至一个或多个事件监 听器,发生事件时需要调用这些事件监听 3.事件发生后,事件源将事件对象传递至监 听器进行处理 4.监听器分析事件对象找出事件信息,以便 根据事件类的类型给出相应的响应(即交 给相应的监听器接口方法进行处理) Designed by Chiyong C2005
7 Designed by Chiyong,©2005 监听器接口方法和awt事件处理过程 1. 事件源描述事件对象中事件的性质。 2. 每个事件源都被映射至一个或多个事件监 听器,发生事件时需要调用这些事件监听 器。 3. 事件发生后,事件源将事件对象传递至监 听器进行处理。 4. 监听器分析事件对象找出事件信息,以便 根据事件类的类型给出相应的响应(即交 给相应的监听器接口方法进行处理)

按钮单击事件示例 public class My Event Test extends Panel t Button my Button= new Button("蓝色"); 为按钮事件 /创建面板或其他GUI组件 注册监听器 MyListener myAction= new MyListenero MyButton addActionListener(myAction) private class lIstener implements ActionListener nucleoid enel 0{ 为事件源添加监 实现了 Actionlistener 接口的监听器类 public void actionPerformed (ActionEvent event) .//需要为事件进行的操作 实现了 Actionlistener接口的 action Performed方法,以便根据参数 Action Event事件类对象的信息对事件做 响应 Designed by Chiyong C2005
8 Designed by Chiyong,©2005 按钮单击事件示例 public class MyEventTest extends Panel { Button myButton = new Button("蓝色"); . . . // 创建面板或其他 GUI 组件 MyListener myAction = new MyListener(); MyButton.addActionListener(myAction); private class MyListener implements ActionListener { public MyListener() { . . . // 初始化 } public void actionPerformed(ActionEvent event) { . . .//需要为事件进行的操作 } } } 实现了ActionListener 接口的监听器类 实现了ActionListener接口的 actionPerformed方法,以便根据参数 ActionEvent 事件类对象的信息对事件做 出响应 为按钮事件 注册监听器 为事件源添加监 听器

事件体系结构 Eventobject AWTEvent Action Event Adjustment Event ComponentEvent Item EventTextEvent Container Event Focus Event Input Event Paint Event Window Event I Key Event Event Designed by Chiyong C2005
9 Designed by Chiyong,©2005 事件体系结构 FocusEvent AWTEvent ActionEvent AdjustmentEvent ComponentEvent ItemEvent TextEvent ContainerEvent InputEvent PaintEvent WindowEvent KeyEvent MouseEvent EventObject

AWT事件类型2-1 事件类 说明 事件源 Action Event 通常按下按钮,双击列表项或选 Button、List 中一个菜单项时,就会生成此事 Menuitem、 件 Text Field AdjustmentEvent操纵滚动条时会生成此事件。 Scrollbar ComponentEvent当一个组件移动、隐藏、调整大 Component 小或成为可见时会生成此事件。 Item Event 单击复选框或列表项时,或者当 Checkbox、 个选择框或一个可选菜单的项 Checkbox Menuitem 被选择或取消时生成此事件。 Choice、List Focus Event 组件获得或失去键盘焦点时会生 Component 成此事件。 Designed by Chiyong C2005
10 Designed by Chiyong,©2005 AWT 事件类型 2-1 事件类 说明 事件源 ActionEvent 通常按下按钮,双击列表项或选 中一个菜单项时,就会生成此事 件。 Button、List、 MenuItem、 TextField AdjustmentEvent 操纵滚动条时会生成此事件。 Scrollbar ComponentEvent 当一个组件移动、隐藏、调整大 小或成为可见时会生成此事件。 Component ItemEvent 单击复选框或列表项时,或者当 一个选择框或一个可选菜单的项 被选择或取消时生成此事件。 Checkbox、 CheckboxMenuItem、 Choice、List FocusEvent 组件获得或失去键盘焦点时会生 成此事件。 Component
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《Java2网络编程基础》 第六章 GU编程.ppt
- 《Java2网络编程基础》 第五章 Java异常和垃圾收集.ppt
- 《Java2网络编程基础》 第四章 类的高级特性.ppt
- 《Java2网络编程基础》 第三章 类,对象和包.ppt
- 《Java2网络编程基础》 第二章 Java编程基础.ppt
- 《Java2网络编程基础》 第一章 JAVAJava编程简介.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第四章 需求分析.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第十章 面向对象方法学引论.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第六章 详细设计.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第八章 软件测试.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第五章 总体设计.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第二章 软件生命周期及软件开发模式.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第九章 软件维护.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第三章 计算机系统工程.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第七章 编码.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第一章 软仵危机与软件工程.ppt
- 《Thinking in Java》中文版 致读者.pdf
- 《Thinking in Java》中文版 介绍.pdf
- 《Thinking in Java》中文版 第九章 用异常来处理错误.pdf
- 《Thinking in Java》中文版 第八章 接口与内部类.pdf
- 《Java2网络编程基础》 第八章 Applet和图形编程.ppt
- 《Java2网络编程基础》 第九章 Swing.ppt
- 《精品JAVA专业版》 第十章 多线程.ppt
- 《精品JAVA专业版》 第十一章 JDBC.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第一章 绪论、第二章 微处理器的工作模式.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第三章 微处理器的实模式软件结构及程序设计.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第四章 保护模式软件结构.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第五章 半导体存储器接口技术.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第六章 微型计算机系统总线.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第七章 输入输出接口技术.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第八章 中断技术.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第九章 串行通信接口及其应用.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第十章 数据采集系统及其应用.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)目录.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)第十章 指针.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)第十一章 结构体与共用体.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)第十二章 位运算.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)第十三章 文件.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)第十四章 C++对e的扩充.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)第十五章 e++面向对象基础.ppt