diff --git a/src/main/java/fr/myny/gui/Gui.java b/src/main/java/fr/myny/gui/Gui.java new file mode 100644 index 0000000..633d32b --- /dev/null +++ b/src/main/java/fr/myny/gui/Gui.java @@ -0,0 +1,33 @@ +package fr.myny.gui; + +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.stage.Stage; +import java.io.IOException; + +public class Gui extends Application { + + private static Scene scene; + + @Override + public void start(Stage stage) throws IOException { + scene = new Scene(loadFXML("primary")); + 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(Gui.class.getResource(fxml + ".fxml")); + return fxmlLoader.load(); + } + + public static void main(String[] args) { + launch(); + } +} diff --git a/src/main/java/fr/myny/gui/PrimaryController.java b/src/main/java/fr/myny/gui/PrimaryController.java new file mode 100644 index 0000000..b3e3df4 --- /dev/null +++ b/src/main/java/fr/myny/gui/PrimaryController.java @@ -0,0 +1,13 @@ +package fr.myny.gui; + +import javafx.fxml.FXML; + +import java.io.IOException; + +public class PrimaryController { + + @FXML + private void switchToSecondary() throws IOException { + Gui.setRoot("secondary"); + } +} diff --git a/src/main/java/fr/myny/gui/SecondaryController.java b/src/main/java/fr/myny/gui/SecondaryController.java new file mode 100644 index 0000000..ed9f6bd --- /dev/null +++ b/src/main/java/fr/myny/gui/SecondaryController.java @@ -0,0 +1,13 @@ +package fr.myny.gui; + +import javafx.fxml.FXML; + +import java.io.IOException; + +public class SecondaryController { + + @FXML + private void switchToPrimary() throws IOException { + Gui.setRoot("primary"); + } +} \ No newline at end of file diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java new file mode 100644 index 0000000..8065c10 --- /dev/null +++ b/src/main/java/module-info.java @@ -0,0 +1,7 @@ +module fr.myny.gui { + requires javafx.controls; + requires javafx.fxml; + + opens fr.myny.gui to javafx.fxml; + exports fr.myny.gui; +} \ No newline at end of file diff --git a/src/main/resources/fr/myny/gui/primary.fxml b/src/main/resources/fr/myny/gui/primary.fxml new file mode 100644 index 0000000..a6104cf --- /dev/null +++ b/src/main/resources/fr/myny/gui/primary.fxml @@ -0,0 +1,13 @@ + + + + + + + +