JAVA中,事件类,事件监听器接口,事件适配器类,*Event事件
JAVA中,事件类,监听器接口,事件适配器类,*Event事件这些相互之间是什么关系?包含关系?事件监听接口是在事件类中么?为什么是implementsActionLis...
JAVA中,事件类,监听器接口,事件适配器类,*Event事件
这些相互之间是什么关系?
包含关系?
事件监听接口是在事件类中么?
为什么是 implements ActionListener 而不是 implements ActionEvent ?
ActionListener 与ActionEvent 是什么关系? 展开
这些相互之间是什么关系?
包含关系?
事件监听接口是在事件类中么?
为什么是 implements ActionListener 而不是 implements ActionEvent ?
ActionListener 与ActionEvent 是什么关系? 展开
1个回答
展开全部
1.首先 组件 发生动作,它产生事件,事件被传递到相应的监听器(或者适配器)里,调用程序员编写的相应处理方法,从而响应事件!
例: 当组件(比如 Button)被点击时就会产生ActionEvent事件,事件被传递给一个 ActionListener 对象,再由ActionListener 定义的方法来响应处理事件!
另:适配器类是对监听器接口的简化,因为有的监听器接口
(如:WindowListener,MouseListener),它有一些方法可能是我们不用的,但为了迎合接口重写规则还必须写! 所以产生了适配器类,它也是抽象类,但类中方法都不是抽象的,所以我们可以挑我们用的方法进行重写!这样我门也能通过继承适配器类来实现监听器的功能,而且不用的方法不用写!节省时间嘛~
2.不是包含关系,是继承关系!(具体请查阅API文挡)
3.不是!(EventListener是在java.util包中!事件类Event在java.awt包中)
4.ActionEvent(包括所有Event)不是人为继承实现的!是系统自动调用的!
所有的Event(事件)都有自己的实现接口,事件发生的时候,系统会自动寻找到相应的接口实现类(已经添加事件监听的情况下),从而调用相应实现方法响应事件!
5.ActionEvent 是一个具体的事件,它是系统调用的!
ActionListener 是ActionEvent 的监听接口,用于实现类继承和方法重写!
具体继承情况如下:
java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ActionEvent
例: 当组件(比如 Button)被点击时就会产生ActionEvent事件,事件被传递给一个 ActionListener 对象,再由ActionListener 定义的方法来响应处理事件!
另:适配器类是对监听器接口的简化,因为有的监听器接口
(如:WindowListener,MouseListener),它有一些方法可能是我们不用的,但为了迎合接口重写规则还必须写! 所以产生了适配器类,它也是抽象类,但类中方法都不是抽象的,所以我们可以挑我们用的方法进行重写!这样我门也能通过继承适配器类来实现监听器的功能,而且不用的方法不用写!节省时间嘛~
2.不是包含关系,是继承关系!(具体请查阅API文挡)
3.不是!(EventListener是在java.util包中!事件类Event在java.awt包中)
4.ActionEvent(包括所有Event)不是人为继承实现的!是系统自动调用的!
所有的Event(事件)都有自己的实现接口,事件发生的时候,系统会自动寻找到相应的接口实现类(已经添加事件监听的情况下),从而调用相应实现方法响应事件!
5.ActionEvent 是一个具体的事件,它是系统调用的!
ActionListener 是ActionEvent 的监听接口,用于实现类继承和方法重写!
具体继承情况如下:
java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ActionEvent
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询