事件源 事件源是一个生成事件的对象 个事件源可能会生成不同类型的事件 事件源提供了一组方法,用于为事件注册 个或多个监听器。 每种事件的类型都有其自己的注册方法。 一般形式为 public void add<EventType>Listener (TypeListener e 6 北大青鸟
6 事件源 • 事件源是一个生成事件的对象 • 一个事件源可能会生成不同类型的事件 • 事件源提供了一组方法,用于为事件注册 一个或多个监听器。 • 每种事件的类型都有其自己的注册方法。 一般形式为: public void add<EventType>Listener (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