From eb14cb7994411d3987ab7ac8896db6a0292e57a1 Mon Sep 17 00:00:00 2001 From: Konrad Neitzel Date: Tue, 18 Mar 2025 08:28:48 +0100 Subject: [PATCH] Erste schnelle Version --- .gitignore | 3 +- injectfx-example/pom.xml | 2 +- .../injectfx/example}/JavaFXApp.java | 2 +- .../injectfx/example}/Main.java | 2 +- .../injectfx/example}/MainWindow.java | 3 +- .../injectfx/example}/MainWindow.fxml | 2 +- .../src/test/resources/testlevel.png | Bin 0 -> 1495626 bytes injectfx-lib/pom.xml | 9 +- .../injectfx/FXMLComponentInstances.java | 138 ++++++++++ .../injectfx/InjectableComponentScanner.java | 245 ++++++++++++++++++ .../injectfx/InjectingControllerFactory.java | 7 +- .../neitzel/injectfx/InjectingFXMLLoader.java | 44 ++++ .../injectfx/annotation/FXMLComponent.java | 11 + .../injectfx/annotation/FXMLConfig.java | 12 + .../InjectableComponentScannerTest.java | 50 ++++ .../testcomponents/test1ok/SuperClass.java | 4 + .../test1ok/TestComponent1_1.java | 9 + .../test1ok/TestInterface1_1.java | 4 + .../test1ok/TestInterface1_2.java | 4 + .../test1ok/sub/TestComponent1_2.java | 12 + .../test2fail/TestComponent2_1.java | 12 + pom.xml | 2 + 22 files changed, 566 insertions(+), 11 deletions(-) rename injectfx-example/src/main/java/de/{kneitzel => neitzel/injectfx/example}/JavaFXApp.java (94%) rename injectfx-example/src/main/java/de/{kneitzel => neitzel/injectfx/example}/Main.java (91%) rename injectfx-example/src/main/java/de/{kneitzel => neitzel/injectfx/example}/MainWindow.java (94%) rename injectfx-example/src/main/resources/de/{kneitzel => neitzel/injectfx/example}/MainWindow.fxml (89%) create mode 100644 injectfx-example/src/test/resources/testlevel.png create mode 100644 injectfx-lib/src/main/java/de/neitzel/injectfx/FXMLComponentInstances.java create mode 100644 injectfx-lib/src/main/java/de/neitzel/injectfx/InjectableComponentScanner.java create mode 100644 injectfx-lib/src/main/java/de/neitzel/injectfx/InjectingFXMLLoader.java create mode 100644 injectfx-lib/src/main/java/de/neitzel/injectfx/annotation/FXMLComponent.java create mode 100644 injectfx-lib/src/main/java/de/neitzel/injectfx/annotation/FXMLConfig.java create mode 100644 injectfx-lib/src/test/java/de/neitzel/injectfx/InjectableComponentScannerTest.java create mode 100644 injectfx-lib/src/test/java/de/neitzel/injectfx/testcomponents/test1ok/SuperClass.java create mode 100644 injectfx-lib/src/test/java/de/neitzel/injectfx/testcomponents/test1ok/TestComponent1_1.java create mode 100644 injectfx-lib/src/test/java/de/neitzel/injectfx/testcomponents/test1ok/TestInterface1_1.java create mode 100644 injectfx-lib/src/test/java/de/neitzel/injectfx/testcomponents/test1ok/TestInterface1_2.java create mode 100644 injectfx-lib/src/test/java/de/neitzel/injectfx/testcomponents/test1ok/sub/TestComponent1_2.java create mode 100644 injectfx-lib/src/test/java/de/neitzel/injectfx/testcomponents/test2fail/TestComponent2_1.java diff --git a/.gitignore b/.gitignore index 1cadbec..b5a5fe3 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ target debug.out /nbactions.xml -dependency-reduced-pom.xml \ No newline at end of file +dependency-reduced-pom.xml +.DS_Store diff --git a/injectfx-example/pom.xml b/injectfx-example/pom.xml index 6c63b8b..48f7828 100644 --- a/injectfx-example/pom.xml +++ b/injectfx-example/pom.xml @@ -16,7 +16,7 @@ ${project.artifactId} ${project.artifactId} ${project.artifactId} - de.kneitzel.Main + de.neitzel.injectfx.example.Main ${project.artifactId}-${project.version} diff --git a/injectfx-example/src/main/java/de/kneitzel/JavaFXApp.java b/injectfx-example/src/main/java/de/neitzel/injectfx/example/JavaFXApp.java similarity index 94% rename from injectfx-example/src/main/java/de/kneitzel/JavaFXApp.java rename to injectfx-example/src/main/java/de/neitzel/injectfx/example/JavaFXApp.java index b477580..2d1ca44 100644 --- a/injectfx-example/src/main/java/de/kneitzel/JavaFXApp.java +++ b/injectfx-example/src/main/java/de/neitzel/injectfx/example/JavaFXApp.java @@ -1,4 +1,4 @@ -package de.kneitzel; +package de.neitzel.injectfx.example; import javafx.application.Application; import javafx.fxml.FXMLLoader; diff --git a/injectfx-example/src/main/java/de/kneitzel/Main.java b/injectfx-example/src/main/java/de/neitzel/injectfx/example/Main.java similarity index 91% rename from injectfx-example/src/main/java/de/kneitzel/Main.java rename to injectfx-example/src/main/java/de/neitzel/injectfx/example/Main.java index 82917a6..2343191 100644 --- a/injectfx-example/src/main/java/de/kneitzel/Main.java +++ b/injectfx-example/src/main/java/de/neitzel/injectfx/example/Main.java @@ -1,4 +1,4 @@ -package de.kneitzel; +package de.neitzel.injectfx.example; /** * Another Main class as workaround when the JavaFX Application ist started without diff --git a/injectfx-example/src/main/java/de/kneitzel/MainWindow.java b/injectfx-example/src/main/java/de/neitzel/injectfx/example/MainWindow.java similarity index 94% rename from injectfx-example/src/main/java/de/kneitzel/MainWindow.java rename to injectfx-example/src/main/java/de/neitzel/injectfx/example/MainWindow.java index fd731f4..27802f7 100644 --- a/injectfx-example/src/main/java/de/kneitzel/MainWindow.java +++ b/injectfx-example/src/main/java/de/neitzel/injectfx/example/MainWindow.java @@ -1,4 +1,4 @@ -package de.kneitzel; +package de.neitzel.injectfx.example; import javafx.event.ActionEvent; import javafx.fxml.FXML; @@ -10,7 +10,6 @@ import java.util.ResourceBundle; public class MainWindow implements Initializable { - private int counter = 0; @FXML diff --git a/injectfx-example/src/main/resources/de/kneitzel/MainWindow.fxml b/injectfx-example/src/main/resources/de/neitzel/injectfx/example/MainWindow.fxml similarity index 89% rename from injectfx-example/src/main/resources/de/kneitzel/MainWindow.fxml rename to injectfx-example/src/main/resources/de/neitzel/injectfx/example/MainWindow.fxml index 3b6f267..5e84972 100644 --- a/injectfx-example/src/main/resources/de/kneitzel/MainWindow.fxml +++ b/injectfx-example/src/main/resources/de/neitzel/injectfx/example/MainWindow.fxml @@ -3,7 +3,7 @@ - +