【发布时间】:2014-01-26 05:56:09
【问题描述】:
我搜索了这个论坛,但找不到关于这个主题的好的解释。 与以下陈述有什么不同吗?哪种方式是触发此事件的更好方式?
if (evt.getButton() == 3)
对比。
if (SwingUtilities.isRightMouseButton(evt))
【问题讨论】:
标签: java awt mouseevent mouselistener swingutilities
我搜索了这个论坛,但找不到关于这个主题的好的解释。 与以下陈述有什么不同吗?哪种方式是触发此事件的更好方式?
if (evt.getButton() == 3)
对比。
if (SwingUtilities.isRightMouseButton(evt))
【问题讨论】:
标签: java awt mouseevent mouselistener swingutilities
SwingUtilities.isRightMouseButton(evt)
这使用位操作数进行比较:
(evt.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
而其他,只是与一个可以改变的幻数进行比较,我宁愿将第一个比较更改为:
if(evt.getButton() == java.awt.event.MouseEvent.BUTTON3)
SwingUtilities 是 jdk 附带的 javax 的一部分,所以我更愿意将此责任委托给这个实用程序(帮助程序)类,所以在这种情况下,SwingUtilities赢了。
【讨论】: