【问题标题】:Right click mouse event鼠标右键事件
【发布时间】:2014-01-26 05:56:09
【问题描述】:

我搜索了这个论坛,但找不到关于这个主题的好的解释。 与以下陈述有什么不同吗?哪种方式是触发此事件的更好方式?

if (evt.getButton() == 3) 

对比。

if (SwingUtilities.isRightMouseButton(evt))

【问题讨论】:

    标签: java awt mouseevent mouselistener swingutilities


    【解决方案1】:

    SwingUtilities.isRightMouseButton(evt)

    这使用位操作数进行比较:

    (evt.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
    

    而其他,只是与一个可以改变的幻数进行比较,我宁愿将第一个比较更改为:

    if(evt.getButton() == java.awt.event.MouseEvent.BUTTON3)
    

    SwingUtilities 是 jdk 附带的 javax 的一部分,所以我更愿意将此责任委托给这个实用程序(帮助程序)类,所以在这种情况下,SwingUtilities赢了。

    【讨论】:

    • 您还应该添加如果鼠标右键更改可能会发生的情况,但是 +1
    • 第二点。因为我的 mouseEvent 在操作中 private void textareaMouseReleased(java.awt.event.MouseEvent evt) 因此 == 3
    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 2012-10-17
    • 2014-01-03
    相关资源
    最近更新 更多