gpt4 book ai didi

Linux 中的 Java 弹出触发器

转载 作者:IT王子 更新时间:2023-10-29 00:11:51 25 4
gpt4 key购买 nike

我有一个应用程序,您可以在其中执行鼠标右键按下和拖动操作(以及用于不同操作的左键按下和拖动操作)。但是,在 Linux 上运行时,弹出菜单似乎是由 mousePressed 而不是 mouseReleased 触发的。这导致每次我按下鼠标右键执行拖动时,都会触发弹出菜单(与 mouseReleased 的窗口不同)。

关于如何解决这个问题有什么想法吗?

谢谢。

编辑:发布代码

弹出菜单代码

// this is called from mousePressed and mouseReleased
if (e.isPopupTrigger() && !e.isConsumed()) {
// show the popup menu
}

此代码是鼠标右键按下/拖动时调用的代码(这是第 3 方代码,但它是开源的,因此我可以根据需要进行更改)

// this is called on all mouse events
if (buttonAction.mouseButton != 0)
{
// handle the event
}

最佳答案

是的,使用isPopupTrigger(),如图here .

附录:

it appears isPopupTrigger is triggered on mousePressed in linux.

是的,它在 Mac OS X 上是一样的。你必须从 mousePressed()mouseReleased() 调用 isPopupTrigger() . GraphPanel 中有一个相关示例.

关于Linux 中的 Java 弹出触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com