gpt4 book ai didi

Javafx Control EventHandler MouseClicked 所有 isxDown() 方法 false

转载 作者:行者123 更新时间:2023-11-29 08:31:02 25 4
gpt4 key购买 nike

我不能只知道点击了哪个按钮,因为以下所有方法都返回 false。我正在尝试获取 HBox 控件上的点击类型并使用下面的代码。如何区分右击和左击?

     hb.addEventHandler(MouseEvent.MOUSE_CLICKED, event ->
{
System.out.println("Meta Down?" + event.isMetaDown());
System.out.println("Middle Down?" + event.isMiddleButtonDown());
System.out.println("Primary Down?" + event.isPrimaryButtonDown());
System.out.println("Secondary Down?" + event.isSecondaryButtonDown());
System.out.println("Synthesized?" + event.isSynthesized());
}

输出;

Meta Down?false
Middle Down?false
Primary Down?false
Secondary Down?false
Synthesized?false

最佳答案

它们都没有关闭的原因是,当按下鼠标按钮然后释放时会调用 MouseClicked,换句话说,它是一个鼠标按下事件,然后是一个鼠标释放事件。

如果您需要知道是什么触发了它,请查看 event.getButton() 并查看它是否是任何 MouseButton。尝试将您的代码更改为如下内容:

hb.addEventHandler(MouseEvent.MOUSE_CLICKED, event ->
{
System.out.println("Middle Clicked?" + event.getButton()== MouseButton.MIDDLE);
System.out.println("Primary Clicked?" + event.getButton()== MouseButton.PRIMARY);
System.out.println("Secondary Clicked?" + event.getButton()== MouseButton.SECONDARY);
System.out.println("None Clicked?" + event.getButton()== MouseButton.NONE);
}

关于Javafx Control EventHandler MouseClicked 所有 isxDown() 方法 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48227843/

25 4 0