From 895b20b680209177e15d7b478abdf11cec916ebf Mon Sep 17 00:00:00 2001
From: Eddy <Eddy@192.168.0.67>
Date: Mon, 27 Mar 2023 01:14:05 +0200
Subject: [PATCH] new progress , succeded in moving the node with the mouse
 still not finished tho

---
 Piece/src/application/Piece.java | 60 +++++++++++++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

diff --git a/Piece/src/application/Piece.java b/Piece/src/application/Piece.java
index 65a5c86..acd3836 100644
--- a/Piece/src/application/Piece.java
+++ b/Piece/src/application/Piece.java
@@ -1,11 +1,14 @@
 package application;  
 import javafx.application.Application;
+import javafx.scene.Node;
 import javafx.event.Event;
 import javafx.event.EventHandler;
 import javafx.scene.Group;  
 import javafx.scene.Scene;
+import javafx.scene.Cursor;
 import javafx.scene.input.KeyEvent;
 import javafx.scene.input.KeyCode;
+import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;  
 import javafx.scene.shape.Polygon;
 import javafx.scene.transform.Rotate;
@@ -14,6 +17,8 @@ import javafx.stage.Stage;
 import javafx.util.Duration;
 public class Piece extends Application{
 	
+	double x;
+	double y;
 	public void start(Stage primaryStage) throws Exception {
 		
 		Polygon piece1 = new Polygon();
@@ -57,6 +62,42 @@ public class Piece extends Application{
 		 rotatelft.setNode(piece1);
 		 rotatelft.setAxis(Rotate.Z_AXIS);
 		 
+		 /* */
+		 
+		 piece1.setOnMousePressed(new EventHandler<MouseEvent>() {
+			  @Override public void handle(MouseEvent mouseEvent) {
+			    // record a delta distance for the drag and drop operation.
+			    x = piece1.getLayoutX() - mouseEvent.getSceneX();
+			    y = piece1.getLayoutY() - mouseEvent.getSceneY();
+			    piece1.setCursor(Cursor.CLOSED_HAND);
+			    piece1.setFill(Color.AZURE);
+			  }
+			});
+		 
+			piece1.setOnMouseReleased(new EventHandler<MouseEvent>() {
+			  @Override public void handle(MouseEvent mouseEvent) {
+			    piece1.setCursor(Cursor.HAND);
+			    piece1.setFill(Color.LIMEGREEN);
+			  }
+			});
+			
+			piece1.setOnMouseDragged(new EventHandler<MouseEvent>() {
+			  @Override public void handle(MouseEvent mouseEvent) {
+			    piece1.setLayoutX(mouseEvent.getSceneX() + x);
+			    piece1.setLayoutY(mouseEvent.getSceneY() + y);
+			  }
+			});
+			
+			piece1.setOnMouseEntered(new EventHandler<MouseEvent>() {
+			  @Override public void handle(MouseEvent mouseEvent) {
+			    piece1.setCursor(Cursor.HAND);
+			  }
+			});
+		
+		 
+		 
+
+		 
 		 
 		 
 		 scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
@@ -72,9 +113,26 @@ public class Piece extends Application{
 		 });
 		 
 		
-		 
 	}
 	
+	 /*public void pressed(MouseEvent event, Polygon piece1) {
+		 piece1.setFill(Color.AZURE);
+		 int x = piece1.getLayoutX() - MouseEvent.getSceneX();
+		    int y = piece1.getLayoutY() - MouseEvent.getSceneY();
+		 piece1.setCursor(Cursor.MOVE);
+	 }
+	 
+	 public void dragged(MouseEvent event, Polygon piece1) {
+		 piece1.setLayoutX(event.getSceneX()+ x);
+		 piece1.setLayoutY(event.getSceneY()+ y);
+		 piece1.draw();
+	 }
+	 
+	 public void released(MouseEvent event, Polygon piece1) {
+		 piece1.setCursor(Cursor.HAND);
+	 }
+	 */
+	
 	public static void main(String[] args) {  
         launch(args);  
     }