2017-08-29 4 views
0

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; 
    } 

Antwort

0

Wenn ich Ihre Frage richtig verstanden könnten Sie einfach das Ereignis gesetzt, wie in Ihrem Ereignisfilter verbraucht wird. https://docs.oracle.com/javase/8/javafx/events-tutorial/filters.htm#BCFDCCEJ

+0

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

+0

Danke. Ich weiß nicht, warum Google immer zuerst mit diesem alten Zeug aufwartet. Ich habe meinen Link oben aktualisiert. – mipa

+0

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 –

Verwandte Themen