2015-09-04 208 views

回答

3

的ActionListener Doc的

的侦听器接口用于接收操作事件。 有兴趣处理动作事件的类实现此接口,并且使用该组件的addActionListener 方法将使用该类创建的对象注册为 组件。当动作事件发生时,该对象的 actionPerformed方法被调用。

的MouseListener Doc的

的侦听器接口用于接收 “感兴趣” 的鼠标事件 (按下,释放,单击,进入和退出)的组件上。 (要跟踪 鼠标移动和鼠标拖动,请使用 MouseMotionListener。)

从你可以看到这个界面的使用是完全地不同的文档。虽然您只能将MouseListener与gui元素组合使用,但在没有gui时也会使用ActionListener,例如与定时器结合使用。

2

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

的MouseListener(和MouseMotionLister,MouseWheelListener的)是有用的(a)当你感兴趣的事件的详细信息(即X/Y单击点),或者当您正在使用的组件不支持的ActionListeners

Action小号当你有一个任务可以在没有外部事件细节的情况下执行(比如退出程序)并且你希望能够在多个组件中访问,或者通过键盘或鼠标

2

ActionListener用于处理按钮的逻辑点击。的点击情况:

  • 当鼠标在按下按钮然后释放,
  • 或当使用该按钮的键盘快捷键,
  • 或当按钮具有焦点和空格键按下,
  • 或当按钮是默认按钮,按Enter键,
  • 或当按钮的点击()方法被称为编程

MouseListener只处理低级别的鼠标事件。