【发布时间】:2015-11-30 16:57:13
【问题描述】:
有什么区别?你什么时候会使用鼠标监听器?还是动作监听器? 谢谢,麻烦您了!
【问题讨论】:
标签: java listener action mouse
有什么区别?你什么时候会使用鼠标监听器?还是动作监听器? 谢谢,麻烦您了!
【问题讨论】:
标签: java listener action mouse
第一个区别是MouseEvent是真正的系统事件,而ActionEvent是合成事件……它是由系统事件触发的。
MouseListener(和 MouseMotionLister、MouseWheelListener)在 (a) 您对事件详细信息(即 x/y 点击点)感兴趣或您使用的组件不支持 ActionListener 时很有用
Actions 适用于您的任务无需外部事件详细信息即可执行(例如退出程序),并且您希望能够在多个组件中访问,或启动 /从键盘或鼠标开始
【讨论】:
ActionListener 文档
接收动作事件的监听接口。那个班级 有兴趣处理一个动作事件实现这个 接口,并且使用该类创建的对象注册到 一个组件,使用组件的
addActionListener方法。当动作事件发生时,该对象的actionPerformed方法被调用。
MouseListener 文档
用于接收“有趣”鼠标事件的监听器接口 (按下、释放、单击、进入和退出)组件。 (追踪 鼠标移动和鼠标拖动,使用
MouseMotionListener.)
从文档中您可以看到此接口的用法完全不同。 MouseListener 只能与 gui 元素结合使用,ActionListener 也可在没有 gui 时使用,例如与计时器结合使用。
【讨论】:
ActionListener 用于处理按钮的逻辑点击。发生点击:
MouseListener 只处理低级鼠标事件。
【讨论】: