右键单击鼠标事件

时间:2014-01-08 08:32:43

标签: java awt mouseevent mouselistener swingutilities

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

if (evt.getButton() == 3) 

Vs以上。

if (SwingUtilities.isRightMouseButton(evt))

1 个答案:

答案 0 :(得分:3)

<强> SwingUtilities.isRightMouseButton(EVT)

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

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

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

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

SwingUtilities 是jdk附带的javk的一部分,因此我更愿意将该责任委托给此实用程序(帮助程序)类,因此在这种情况下, SwingUtilities 胜。