diff --git a/cobigen-gui/gui/pom.xml b/cobigen-gui/gui/pom.xml
index 0ab64a1bf7..3b31a3b779 100644
--- a/cobigen-gui/gui/pom.xml
+++ b/cobigen-gui/gui/pom.xml
@@ -13,7 +13,7 @@
UTF-8
11
- 16
+ 18
0.0.6
@@ -43,7 +43,7 @@
javafx-maven-plugin
${javafx.maven.plugin.version}
- org.gui.main
+ com.devonfw.cobigen.gui.Main
diff --git a/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/App.java b/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/App.java
new file mode 100644
index 0000000000..8f282f73a4
--- /dev/null
+++ b/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/App.java
@@ -0,0 +1,40 @@
+package com.devonfw.cobigen.gui;
+
+import java.io.IOException;
+
+import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.stage.Stage;
+
+public class App extends Application {
+
+ private static Scene scene;
+
+ @Override
+ public void start(Stage stage) throws IOException {
+
+ scene = new Scene(loadFXML("primary"));
+ scene.getStylesheets().add(getClass().getResource("styles.css").toExternalForm());
+ 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/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/Main.java b/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/Main.java
deleted file mode 100644
index 2bf435c774..0000000000
--- a/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/Main.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.devonfw.cobigen.gui;
-
-import java.io.FileInputStream;
-
-import javafx.application.Application;
-import javafx.fxml.FXMLLoader;
-import javafx.scene.Scene;
-import javafx.scene.layout.AnchorPane;
-import javafx.stage.Stage;
-
-public class Main extends Application {
-
- public static void main(String[] args) {
-
- launch(args);
- }
-
- @Override
- public void start(Stage primaryStage) {
-
- try {
- // Create the FXMLLoader
- FXMLLoader loader = new FXMLLoader();
- // Path to the FXML File
- String fxmlDocPath = "C:\\projects\\my-project\\workspaces\\main\\gui\\src\\application\\TemplateSetManagementGui.fxml";
- FileInputStream fxmlStream = new FileInputStream(fxmlDocPath);
- // Create the Pane and all Details
- AnchorPane root = (AnchorPane) loader.load(fxmlStream);
- // Create the Scene
- Scene scene = new Scene(root);
- // Set the Scene to the Stage
- primaryStage.setScene(scene);
- // Set the Title to the Stage
- primaryStage.setTitle("A SceneBuilder Example");
- // Display the Stage
- primaryStage.show();
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/application.css b/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/styles.css
similarity index 100%
rename from cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/application.css
rename to cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/styles.css
diff --git a/cobigen-gui/gui/src/main/java/module-info.java b/cobigen-gui/gui/src/main/java/module-info.java
new file mode 100644
index 0000000000..1d520c990e
--- /dev/null
+++ b/cobigen-gui/gui/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+module gui {
+ requires javafx.controls;
+
+ requires javafx.fxml;
+
+ requires transitive javafx.graphics;
+
+ opens com.devonfw.cobigen.gui to javafx.fxml;
+
+ exports com.devonfw.cobigen.gui;
+}
\ No newline at end of file
diff --git a/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/HomeScreen.fxml b/cobigen-gui/gui/src/main/resources/com/devonfw/cobigen/gui/HomeScreen.fxml
similarity index 100%
rename from cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/HomeScreen.fxml
rename to cobigen-gui/gui/src/main/resources/com/devonfw/cobigen/gui/HomeScreen.fxml
diff --git a/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/SearchResults.fxml b/cobigen-gui/gui/src/main/resources/com/devonfw/cobigen/gui/SearchResults.fxml
similarity index 100%
rename from cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/SearchResults.fxml
rename to cobigen-gui/gui/src/main/resources/com/devonfw/cobigen/gui/SearchResults.fxml
diff --git a/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/TemplateSetDetails.fxml b/cobigen-gui/gui/src/main/resources/com/devonfw/cobigen/gui/TemplateSetDetails.fxml
similarity index 100%
rename from cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/TemplateSetDetails.fxml
rename to cobigen-gui/gui/src/main/resources/com/devonfw/cobigen/gui/TemplateSetDetails.fxml
diff --git a/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/TemplateSetManagementGui.fxml b/cobigen-gui/gui/src/main/resources/com/devonfw/cobigen/gui/primary.fxml
similarity index 98%
rename from cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/TemplateSetManagementGui.fxml
rename to cobigen-gui/gui/src/main/resources/com/devonfw/cobigen/gui/primary.fxml
index 56a57dc21a..4b7aff6f89 100644
--- a/cobigen-gui/gui/src/main/java/com/devonfw/cobigen/gui/TemplateSetManagementGui.fxml
+++ b/cobigen-gui/gui/src/main/resources/com/devonfw/cobigen/gui/primary.fxml
@@ -18,7 +18,7 @@
-
+