Der Titel erklärt es.Gibt es eine Möglichkeit, es so zu machen, dass MOUSE_DRAGGED nicht ausgelöst wird, bis es 10 Pixel bewegt JavaFX
Also habe ich eine Anwendung, die zu 1/2 Deckkraft verblasst, wenn es nicht maused und voll ist, wenn es ist. Diese Anwendung ist StageStyle.TRANSPARENT
und bewegt sich, wenn der Benutzer die Maus zieht.
Ich frage mich, ob es eine Möglichkeit gibt, es so zu machen, dass die Maus eine bestimmte (10) Anzahl von Pixeln ziehen muss, bevor das Ziehereignis ausgelöst wird?
Hier ist der Code
moveWindowTemp dragDelta = new moveWindowTemp();
primaryScene.addEventFilter(MouseEvent.MOUSE_PRESSED, mouseEvent -> {
dragDelta.x = primaryStage.getX() - mouseEvent.getScreenX();
dragDelta.y = primaryStage.getY() - mouseEvent.getScreenY();
});
primaryScene.addEventFilter(MouseEvent.MOUSE_DRAGGED, mouseEvent -> {
primaryStage.setX(mouseEvent.getScreenX() + dragDelta.x);
primaryStage.setY(mouseEvent.getScreenY() + dragDelta.y);
isBeingMoved = true;
});
primaryScene.addEventFilter(MouseEvent.MOUSE_RELEASED, mouseEvent -> {
primaryStage.setX(mouseEvent.getScreenX() + dragDelta.x);
primaryStage.setY(mouseEvent.getScreenY() + dragDelta.y);
isBeingMoved = false;
});
...
public class moveWindowTemp {
double x, y;
}
Dieser Link könnte relevanter sein: https://docs.oracle.com/javase/8/javafx/events-tutorial/filters.htm#BCFDCCEJ (Gleiches Tutorial, aktualisiert auf JavaFX 8) – Itai
Danke. Ich weiß nicht, warum Google immer zuerst mit diesem alten Zeug aufwartet. Ich habe meinen Link oben aktualisiert. – mipa
Das scheint zu sein, was ich will. Ich habe vorläufig keinen Zugang zu der Anwendung, ich werde prüfen, was Sie gesagt haben und wenn ich es zum Laufen bringen kann, werde ich Sie als korrekt markieren –