北大青鸟 c 第七章 AWT事件模型 Version 3.0 CHA
Version 3.0 AWT 事件模型 第七章
回顾 抽象窗口工具包(AWT)是一组类,用来创 建图形用户界面,并能够通过键盘和鼠标 响应用户的操作。 两种常用容器类:框架〔 Frame类)和面板 ( Panee类) ·AWT支持下列类型的组件:标签、文本 文本区、按钮、复选框、列表框等。 ·布局管理器类提供控制GU组件物理布局的 种方式。 北大青鸟
2 回顾 • 抽象窗口工具包(AWT)是一组类,用来创 建图形用户界面,并能够通过键盘和鼠标 响应用户的操作。 • 两种常用容器类:框架(Frame类)和面板 (Panel类) • AWT支持下列类型的组件:标签、文本域、 文本区、按钮、复选框、列表框等。 • 布局管理器类提供控制GUI 组件物理布局的 一种方式
目标 事件控制的要点 AWT事件结构 基本事件控制 ·使用多个监听器 匿名类 北大青鸟
3 目标 • 事件控制的要点 • AWT 事件结构 • 基本事件控制 • 使用多个监听器 • 匿名类
事件控制的要点 Java最新的事件处理方法是基于授权事件 模型 事件源生成事件并将其发送至一个或多个 监听器 监听器简单地等待,直到它收到一个事件。 旦事件被接受,监听器将处理这些事件, 然后返回。 北大青鸟
4 事件控制的要点 • Java 最新的事件处理方法是基于授权事件 模型 • 事件源生成事件并将其发送至一个或多个 监听器 • 监听器简单地等待,直到它收到一个事件。 一旦事件被接受,监听器将处理这些事件, 然后返回
事件 在授权事件模型中,事件是一个描述事件 源状态改变的对象。 ·通过鼠标、键盘与GU界面直接或间接交 互都会生成事件。如:按下一个按钮 通过键盘输入一个字符、选择列表框中的 项、点击一下鼠标等。 北大青鸟
5 事件 • 在授权事件模型中,事件是一个描述事件 源状态改变的对象。 • 通过鼠标、键盘与GUI 界面直接或间接交 互都会生成事件。如:按下一个按钮、 通过键盘输入一个字符、选择列表框中的 一项、点击一下鼠标等
事件源 事件源是一个生成事件的对象 个事件源可能会生成不同类型的事件 事件源提供了一组方法,用于为事件注册 个或多个监听器。 每种事件的类型都有其自己的注册方法。 一般形式为 public void addListener (TypeListener e 6 北大青鸟
6 事件源 • 事件源是一个生成事件的对象 • 一个事件源可能会生成不同类型的事件 • 事件源提供了一组方法,用于为事件注册 一个或多个监听器。 • 每种事件的类型都有其自己的注册方法。 一般形式为: public void addListener (TypeListener e)
AWT采取的事件控制过程 监听器对象属于一个类的实例,这个类实 现了一个特殊的接口,名为“监听者接口 事件源是一个对象,它可以注册一个或多 个监听器对象,并向其发送事件对象 事件源将在发生事件时向所有注册的监听 器发送事件对象。 ·监听器对象使用事件对象中的信息来确定 它们对事件的响应。 北大青鸟
7 AWT采取的事件控制过程 • 监听器对象属于一个类的实例,这个类实 现了一个特殊的接口,名为“监听者接口” • 事件源是一个对象,它可以注册一个或多 个监听器对象,并向其发送事件对象。 • 事件源将在发生事件时向所有注册的监听 器发送事件对象。 • 监听器对象使用事件对象中的信息来确定 它们对事件的响应
按钮单击事件示例 public class MyEventrest extends Panel t Button my Button= new Button("蓝色"); 为按钮事件 /创建面板或其他GU工组件 注册监听器 MYListener myAction new MyListener()i MyButton addActionListener(myAction)i private class MyListener implements ActionListener public MyListener()i /初始化 实现了 Actionlistener 接口的监听器 pubLIc vold actionperformed (Actionevent event) //需要为事件进行的操竹 实现了 action Performed 方法 以便根据参数 Action Event对 象的信息对事件做出响应 北大青鸟
8 按钮单击事件示例 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 接口的监听器 实现了actionPerformed方法, 以便根据参数 ActionEvent 对 象的信息对事件做出响应 为按钮事件 注册监听器
事件体系结构 EventObject AWTEvent Action Event Adjustment Event Component Event Item Event TextEvent I Container event Focus Input Event Paint Event Window Event Key EventMouseEvent 北大青鸟
9 事件体系结构 FocusEvent AWTEvent ActionEvent AdjustmentEvent ComponentEvent ItemEvent TextEvent ContainerEvent InputEvent PaintEvent WindowEvent KeyEvent MouseEvent EventObject
AWT事件类型21 事件类 说明 事件源 Action Event 通常按下按钮,双击列表项或选Buto、Lit 中一个菜单项时,就会生成此事 Menuitem、 件 TextField AdjustmentEvent操纵滚动条时会生成此事件。 Scrollbar ComponentEvent当一个组件移动、隐藏、调整大 Component 小或成为可见时会生成此事件 ItemEvent 单击复选框或列表项时,或者当 Checkbox 个选择框或一个可选菜单的项 Checkbox Menuitem 被选择或取消时生成此事件。 Choice、Lit Focus Event 组件获得或失去键盘焦点时会生 Component 成此事件。 北大青鸟
10 AWT 事件类型 2-1 事件类 说明 事件源 ActionEvent 通常按下按钮,双击列表项或选 中一个菜单项时,就会生成此事 件。 Button、List、 MenuItem、 TextField AdjustmentEvent 操纵滚动条时会生成此事件。 Scrollbar ComponentEvent 当一个组件移动、隐藏、调整大 小或成为可见时会生成此事件。 Component ItemEvent 单击复选框或列表项时,或者当 一个选择框或一个可选菜单的项 被选择或取消时生成此事件。 Checkbox、 CheckboxMenuItem、 Choice、List FocusEvent 组件获得或失去键盘焦点时会生 成此事件。 Component