【问题标题】:Difference between Mouse Listener and Action Listener?鼠标监听器和动作监听器的区别?
【发布时间】:2015-11-30 16:57:13
【问题描述】:

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

【问题讨论】:

    标签: java listener action mouse


    【解决方案1】:

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

    MouseListener(和 MouseMotionLister、MouseWheelListener)在 (a) 您对事件详细信息(即 x/y 点击点)感兴趣或您使用的组件不支持 ActionListener 时很有用

    Actions 适用于您的任务无需外部事件详细信息即可执行(例如退出程序),并且您希望能够在多个组件中访问,或启动 /从键盘或鼠标开始

    【讨论】:

      【解决方案2】:

      ActionListener 文档

      接收动作事件的监听接口。那个班级 有兴趣处理一个动作事件实现这个 接口,并且使用该类创建的对象注册到 一个组件,使用组件的addActionListener 方法。当动作事件发生时,该对象的 actionPerformed 方法被调用。

      MouseListener 文档

      用于接收“有趣”鼠标事件的监听器接口 (按下、释放、单击、进入和退出)组件。 (追踪 鼠标移动和鼠标拖动,使用 MouseMotionListener.)

      从文档中您可以看到此接口的用法完全不同。 MouseListener 只能与 gui 元素结合使用,ActionListener 也可在没有 gui 时使用,例如与计时器结合使用。

      【讨论】:

        【解决方案3】:

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

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

        MouseListener 只处理低级鼠标事件。

        【讨论】:

          猜你喜欢
          • 2014-12-13
          • 2014-02-21
          • 2013-12-24
          • 2017-04-10
          • 2014-05-27
          • 2013-07-20
          • 2021-07-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多