鼠标侦听器和动作侦听器之间的区别?

时间:2015-09-04 13:43:04

标签: java listener action mouse

区别是什么?你什么时候使用鼠标监听器?还是一个动作听众? 谢谢,麻烦您了!

3 个答案:

答案 0 :(得分:3)

ActionListener Doc's

  

用于接收动作事件的侦听器接口。那个班   有兴趣处理一个动作事件实现这一点   接口,以及使用该类创建的对象   一个组件,使用组件的addActionListener   方法。当动作事件发生时,该对象的   <{1}}方法被调用。

MouseListener Doc's

  

用于接收“有趣”鼠标事件的侦听器界面   (按,释放,单击,进入和退出)组件。 (追踪   鼠标移动和鼠标拖动,使用   actionPerformed。)

从文档中可以看出,这个接口的用法完全不同。虽然您只能将MouseMotionListener与gui元素结合使用,但在没有gui时也会使用MouseListener,例如与计时器结合使用。

答案 1 :(得分:2)

第一个区别是A MouseEvent是一个真正的系统事件,而ActionEvent是一个综合事件......它是由系统事件触发的。

MouseListener(和MouseMotionLister,MouseWheelListener)在以下情况下非常有用:(a)您对事件详细信息(即x / y点击点)感兴趣,或者当您使用的组件不支持ActionListeners时

当你有一个可以在没有外部事件细节的情况下执行的任务(比如退出程序)并且你希望能够在多个组件中访问或设置任务时,

Action是很好的关闭/启动键盘或鼠标

答案 2 :(得分:2)

ActionListener用于处理按钮的逻辑单击。点击发生:

  • 按下鼠标然后在按钮上释放
  • 或使用该按钮的键盘快捷键时,
  • 或当按钮具有焦点并按下空格键时
  • 或当按钮是默认按钮且按下Enter时,
  • 或以编程方式调用按钮的click()方法时

MouseListener仅处理低级鼠标事件。