Java事件机制浅析
Java的事件机制最初是用在Swing组件上的,用来处理诸如按钮按下之类的动作事件,但如果理解了事件机制的基本概念,我们可以轻易的将其用到任何Java对象上。
基本概念
- 事件
事件可以是系统中发生的任何动作。 当一个事件发生时,该事件用一个事件对象来表示。事件对象有对应的事件类。
- 事件源
事件最初发生的地方。
- 事件处理器(事件处理方法)
事件处理器是一个接收事件对象并进行相应处理的方法。事件处理器包含在一个类中,这个类的对象负责检查事件是否发生,若发生就激活事件处理器进行处理。
- 注册事件监听器
为了能够让事件监听器检查事件源是否发生了某些事件,并且在发生时激活事件处理器进行相应的处理,必须在事件源上注册事件监听器。
实现Java事件机制
先介绍下Java中和事件处理相关的几个类,然后我们通过一个简单的实例来详细了解。
涉及到的Java类
Java的事件机制一般包括三个部分:EventObject
,EventListener
和Source
。
EventObject
java.util.EventObject
是事件状态对象的基类,它封装了事件源对象以及和事件相关的信息。所有java的事件类都需要继承该类。
EventListener
java.util.EventListener
是一个标记接口,就是说该接口内是没有任何方法的。所有事件监听器都需要实现该接口。事件监听器注册在事件源上,当事件源的属性或状态改变的时候,调用相应监听器内的回调方法。
Source
事件源不需要实现或继承任何接口或类,它是事件最初发生的地方。因为事件源需要注册事件监听器,所以事件源内需要有相应的盛放事件监听器的容器。
实例
事件对象
|
|
事件监听器
|
|
|
|
事件源
|
|
测试类
|
|