From d1a1ce0511f1211a85570aa9e1dd9d32ed4f8871 Mon Sep 17 00:00:00 2001 From: Michael-Jouanneau Date: Sat, 29 Oct 2016 21:37:09 +0200 Subject: [PATCH] Got the drag thingto work --- src/sample/Main.java | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/sample/Main.java b/src/sample/Main.java index 4c44568..4f94d17 100644 --- a/src/sample/Main.java +++ b/src/sample/Main.java @@ -1,15 +1,19 @@ package sample; import javafx.application.Application; +import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; -import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; +import javafx.scene.input.MouseEvent; import javafx.stage.Stage; import javafx.stage.StageStyle; public class Main extends Application { + private double xOffset = 0; + private double yOffset = 0; + volatile double[] posOrigin = {0, 0}; @Override @@ -26,8 +30,19 @@ public class Main extends Application { root.lookup("#exit").setOnMouseClicked(event -> primaryStage.close()); // Drag - root.lookup("#rectangle").setOnMouseDragged(event -> { - + root.lookup("#rectangle").setOnMousePressed(new EventHandler() { + @Override + public void handle(MouseEvent event) { + xOffset = event.getSceneX(); + yOffset = event.getSceneY(); + } + }); + root.lookup("#rectangle").setOnMouseDragged(new EventHandler() { + @Override + public void handle(MouseEvent event) { + primaryStage.setX(event.getScreenX() - xOffset); + primaryStage.setY(event.getScreenY() - yOffset); + } }); }