public void setListeners() {
for(Scene s : Org.scenes) {
s.setOnMouseMoved(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
mouseX = event.getSceneX();
mouseY= event.getSceneY();
}
});
}
}
这段代码效果很好,但只要按住mouse1或mouse2,代码就不起作用,而且鼠标移动时鼠标和mouseY变量保持相同的值。我无法理解为什么按住鼠标按钮会暂停更新变量。
答案 0 :(得分:0)
当您按下鼠标上的任何按钮时,不再将其视为鼠标移动事件,而是成为鼠标单击事件,如果您按住鼠标按钮并移动光标,则它将是鼠标拖动事件。因此,请尝试添加新的听众setOnMouseClicked()
或setOnMouseDragged()
s.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
//what you want to do
}
});
s.setOnMouseDragged(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
//what you want to do
}
});