Java鼠标事件右键单击

Posted

技术标签:

【中文标题】Java鼠标事件右键单击【英文标题】:Java Mouse Event Right Click 【发布时间】:2011-05-30 08:54:06 【问题描述】:

在我的三键鼠标上MouseEvent.BUTTON2= 中键和MouseEvent.BUTTON3 = 右键。

这是在两键鼠标上的情况吗?

谢谢

【问题讨论】:

【参考方案1】:

为避免歧义,请使用 SwingUtilities 中的实用程序方法:

SwingUtilities.isLeftMouseButton(MouseEvent anEvent) SwingUtilities.isRightMouseButton(MouseEvent anEvent) SwingUtilities.isMiddleMouseButton(MouseEvent anEvent)

【讨论】:

【参考方案2】:

是的,看看这个讨论平台之间差异的线程。

How to detect right-click event for Mac OS

BUTTON3 在所有平台上都是相同的,等于鼠标右键。如果中间按钮不存在,则 BUTTON2 将被忽略。

【讨论】:

【参考方案3】:

见过

anEvent.isPopupTrigger() 

以前用过。我对 Java 还很陌生,所以我很高兴听到关于这种方法的想法 :)

【讨论】:

是的,但根据bugs.java.com/bugdatabase/view_bug.do?bug_id=4119064 和我自己的实践,此功能在 Windows 中无法正常工作。而且这个错误已经持续了 16 年......

以上是关于Java鼠标事件右键单击的主要内容,如果未能解决你的问题,请参考以下文章

鼠标事件

为啥 jQuery 的 .change() 事件只在鼠标右键单击时触发?

Java JTable 添加了一个键盘事件,和鼠标点击事件的监听,如何在我键盘事件起作用时,让鼠标事件失效

使用 jquery 在 iframe 中捕获鼠标右键单击事件

为啥鼠标右键单击在按下时会触发“pointerdown”事件,但在释放时不会触发“pointerup”事件?

MFC当鼠标移动到某对象范围的上方时触发的事件是啥?