У меня есть программа, которая отслеживает мышь с помощью MouseEvent.MOVED в javafx, и всякий раз, когда я нажимаю и удерживаю кнопку мыши, отслеживание останавливается.
Я пытался переключить события с addEventFilter на addEventHandler.Добавление другого события MouseEvent.DRAGED.Но это даже не зарегистрирует событие, пока я не отключу код от MouseEvent.Moved.Я пытался объединить их, но ничего не получается.Помощь очень ценится.
EventHandler<MouseEvent> tracking = new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e){
double x = e.getSceneX();
double y = e.getSceneY();
if((x + size < 400) && (y - circle.getRadius() > 1)){
switch (value){
case 0 :
circle.setCenterX(x);
circle.setCenterY(y);
break;
case 1 :
rec.setLayoutX(x);
rec.setLayoutY(y);
break;
case 2 :
pol.getPoints().clear();
pol.getPoints().addAll(new Double[]{x - size, y, x + size, y, x, y + size});
break;
}
}
}
};
EventHandler<MouseEvent> test = new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e){
System.out.print("test: ");
}
};
pane1.addEventHandler(MouseEvent.MOUSE_MOVED, tracking);
pane1.addEventFilter(MouseEvent.MOUSE_DRAGGED, test);