Che*_*lin 5 mouseevent javafx-2
我已经设置了一个监听器,Pane以便它可以检测鼠标左右按钮是否向下.但是当我按住鼠标左键,然后按右键,之前的动作似乎失去了它的效果!
我的代码:
root.setOnMouseDragged(new EventHandler<MouseEvent>(){
@Override
public void handle(MouseEvent t) {
if(t.getButton() == MouseButton.PRIMARY) f1();
if(t.getButton() == MouseButton.SECONDARY) f2();
}
});
Run Code Online (Sandbox Code Playgroud)
拿着LMB我已经f1()跑了,但是当我推RMB时,新事件似乎完全覆盖了前一个:只f2()运行.
我该如何分开这两个事件?
Ser*_*nev 10
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");
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10432 次 |
| 最近记录: |