From 4c19ca8cf230072e6211becc41a9a77f022d60fb Mon Sep 17 00:00:00 2001 From: Henry Winkel Date: Sat, 26 Jul 2025 12:31:18 +0200 Subject: [PATCH] Add: added basic window handling --- src/main/java/module-info.java | 3 +- .../java/org/winkel/damagecontrol/App.java | 30 ++- .../winkel/damagecontrol/MainController.java | 25 +++ .../org/winkel/damagecontrol/main.fxml | 209 ++++++++++-------- target/classes/module-info.class | Bin 257 -> 308 bytes .../org/winkel/damagecontrol/App.class | Bin 1962 -> 1616 bytes .../winkel/damagecontrol/MainController.class | Bin 462 -> 1178 bytes .../org/winkel/damagecontrol/main.fxml | 209 ++++++++++-------- 8 files changed, 290 insertions(+), 186 deletions(-) diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index a43e443..da39478 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -1,7 +1,8 @@ module org.winkel.damagecontrol { requires javafx.controls; requires javafx.fxml; - + requires java.desktop; + requires javafx.graphics; opens org.winkel.damagecontrol to javafx.fxml; exports org.winkel.damagecontrol; } diff --git a/src/main/java/org/winkel/damagecontrol/App.java b/src/main/java/org/winkel/damagecontrol/App.java index 62f6c1e..fdd5dfe 100644 --- a/src/main/java/org/winkel/damagecontrol/App.java +++ b/src/main/java/org/winkel/damagecontrol/App.java @@ -5,8 +5,13 @@ import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; +import javafx.stage.StageStyle; import java.io.IOException; +import java.lang.ModuleLayer.Controller; + + + /** * JavaFX App @@ -17,19 +22,26 @@ public class App extends Application { @Override public void start(Stage stage) throws IOException { - scene = new Scene(loadFXML("main"), 640, 480); + + + + FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource("main.fxml")); + Parent root = fxmlLoader.load(); + + MainController controller = fxmlLoader.getController(); + controller.setStage(stage); + + + scene = new Scene(root, 1280 , 800); + stage.initStyle(StageStyle.UNDECORATED); // Removes OS title bar + stage.setMaximized(true); + stage.setScene(scene); stage.show(); } - static void setRoot(String fxml) throws IOException { - scene.setRoot(loadFXML(fxml)); - } - - private static Parent loadFXML(String fxml) throws IOException { - FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource(fxml + ".fxml")); - return fxmlLoader.load(); - } + + public static void main(String[] args) { launch(); diff --git a/src/main/java/org/winkel/damagecontrol/MainController.java b/src/main/java/org/winkel/damagecontrol/MainController.java index db69f65..ddd4dfc 100644 --- a/src/main/java/org/winkel/damagecontrol/MainController.java +++ b/src/main/java/org/winkel/damagecontrol/MainController.java @@ -2,13 +2,38 @@ package org.winkel.damagecontrol; import java.io.IOException; +import javafx.event.ActionEvent; import javafx.fxml.FXML; +import javafx.scene.control.Button; import javafx.scene.control.Label; +import javafx.stage.Stage; +import javafx.event.ActionEvent; public class MainController { + @FXML + private Button closeApp; @FXML private Label appMode; @FXML private Label clientStatus; + private Stage stage; + + public void setStage(Stage stage) { + this.stage = stage; + } + + @FXML + public void closeApplication() { + System.exit(0); + } + + public void minimizeApplication() { + stage.setIconified(true); + } + + public void maximizeApplication() + { + stage.setMaximized(!stage.isMaximized()); + } } diff --git a/src/main/resources/org/winkel/damagecontrol/main.fxml b/src/main/resources/org/winkel/damagecontrol/main.fxml index 1c39bb6..246e77a 100644 --- a/src/main/resources/org/winkel/damagecontrol/main.fxml +++ b/src/main/resources/org/winkel/damagecontrol/main.fxml @@ -33,107 +33,140 @@ --> + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +