From 6d0cf2a5f7d93577cee81d35f3283b3a4abbc111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Einar=20Sk=C3=B8ien?= Date: Mon, 13 Apr 2026 16:33:21 +0200 Subject: [PATCH] add popup functionality: draggable --- .../idatt2003/gruppe42/View/Popups/Popup.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/Popups/Popup.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/Popups/Popup.java index 0626e2e..b3b44cb 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/Popups/Popup.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/Popups/Popup.java @@ -13,6 +13,9 @@ public abstract class Popup { protected int height; protected int x; protected int y; + protected double dx; + protected double dy; + protected BorderPane root; protected ScrollPane scrollPane; protected HBox header; @@ -46,6 +49,8 @@ public Popup(int width, int height, int x, int y) { scrollPane.setContent(content); root.setTop(header); root.setCenter(scrollPane); + + makeDraggable(); } public int getWidth() { @@ -75,4 +80,16 @@ public VBox getContent() { public Button getCloseButton() { return closeButton; } + + private void makeDraggable() { + header.setOnMousePressed(e -> { + dx = e.getSceneX() - root.getLayoutX(); + dy = e.getSceneY() - root.getLayoutY(); + }); + + header.setOnMouseDragged(e -> { + root.setLayoutX(e.getSceneX() - dx); + root.setLayoutY(e.getSceneY() - dy); + }); + } }