gpt4 book ai didi

mouseevent - 如何正确检测 JavaFX 中哪些鼠标按钮已按下

转载 作者:行者123 更新时间:2023-12-04 17:24:21 25 4
gpt4 key购买 nike

我已经为我的 Pane 设置了一个监听器以便它会检测鼠标左右按钮是否按下。
但是当我按住鼠标左键,然后按右键时,之前的 Action 似乎失去了作用!

我的代码:

root.setOnMouseDragged(new EventHandler<MouseEvent>(){
@Override
public void handle(MouseEvent t) {
if(t.getButton() == MouseButton.PRIMARY) f1();
if(t.getButton() == MouseButton.SECONDARY) f2();
}
});

持有 LMB 我有 f1()运行,但当我推人民币时,新事件似乎完全覆盖了之前的事件:只有 f2()运行。

我该如何区分这两个事件?

最佳答案

getButton()一次只能返回一个值。它是最新按下的按钮。如果需要检测多个鼠标按下,则需要使用相应的函数:

root.setOnMouseDragged(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
if (t.isPrimaryButtonDown()) {
System.out.println("rockets armed");
}
if (t.isSecondaryButtonDown()) {
System.out.println("autoaim engaged");
}
}
});

关于mouseevent - 如何正确检测 JavaFX 中哪些鼠标按钮已按下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12816847/

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