我在这个论坛上搜索了一下,但是没有找到一个好的关于这个主题的解释。下面的陈述有什么不同?哪种方式更好地触发这个事件?
if (evt.getButton() == 3)
对比。
if (SwingUtilities.isRightMouseButton(evt))
我在这个论坛上搜索了一下,但是没有找到一个好的关于这个主题的解释。下面的陈述有什么不同?哪种方式更好地触发这个事件?
if (evt.getButton() == 3)
对比。
if (SwingUtilities.isRightMouseButton(evt))
SwingUtilities.isRightMouseButton(evt)
这个函数使用位运算进行比较:
(evt.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
有些人只是将比较值与一个可以更改的魔数进行比较,我宁愿先将第一次比较改为:
if(evt.getButton() == java.awt.event.MouseEvent.BUTTON3)
SwingUtilities是JDK自带的javax包中的一部分,因此我更喜欢委托这个实用程序(辅助)类来处理这个责任,所以在这种情况下,SwingUtilities胜出。