diff --git a/src/main/java/at/ionas999/questioncatalog/App.java b/src/main/java/at/ionas999/questioncatalog/App.java index 596f998..6146db3 100644 --- a/src/main/java/at/ionas999/questioncatalog/App.java +++ b/src/main/java/at/ionas999/questioncatalog/App.java @@ -8,9 +8,10 @@ import javafx.stage.Stage; import java.io.IOException; public class App extends Application { + // Der gesamte fxml code wurde mithilfe des Github Copilotes generiert @Override public void start(Stage stage) throws IOException { - FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource("answerText.fxml")); + FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource("main.fxml")); Scene scene = new Scene(fxmlLoader.load(), 320, 240); stage.setTitle("Question Catalog"); stage.setScene(scene); diff --git a/src/main/java/at/ionas999/questioncatalog/Utils.java b/src/main/java/at/ionas999/questioncatalog/Utils.java new file mode 100644 index 0000000..547d91e --- /dev/null +++ b/src/main/java/at/ionas999/questioncatalog/Utils.java @@ -0,0 +1,23 @@ +package at.ionas999.questioncatalog; + +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.stage.Stage; + +import javafx.event.ActionEvent; +import java.io.IOException; + +public class Utils { + public static void switchScenes(String fxmlFileName, Stage stage) throws IOException { + + FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource(fxmlFileName)); + Parent root = fxmlLoader.load(); + stage.setScene(new Scene(root)); + stage.show(); + } + + public static Stage getStageFromActionEven(ActionEvent actionEvent){ + return (Stage) ((javafx.scene.Node) actionEvent.getSource()).getScene().getWindow(); + } +} diff --git a/src/main/java/at/ionas999/questioncatalog/controller/MainController.java b/src/main/java/at/ionas999/questioncatalog/controller/MainController.java index eaa6baf..083bc44 100644 --- a/src/main/java/at/ionas999/questioncatalog/controller/MainController.java +++ b/src/main/java/at/ionas999/questioncatalog/controller/MainController.java @@ -1,4 +1,34 @@ package at.ionas999.questioncatalog.controller; +import at.ionas999.questioncatalog.Utils; +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.stage.Stage; + +import java.io.IOException; + public class MainController { + @FXML + private void addNewBtnClick(ActionEvent actionEvent) throws IOException { + Stage stage = Utils.getStageFromActionEven(actionEvent); + Utils.switchScenes("upload.fxml", stage); + } + + @FXML + private void viewBtnClick(ActionEvent actionEvent) throws IOException { + Stage stage = Utils.getStageFromActionEven(actionEvent); + Utils.switchScenes("view.fxml", stage); + } + + @FXML + private void learnBtnClick(ActionEvent actionEvent) throws IOException { + Stage stage = Utils.getStageFromActionEven(actionEvent); + Utils.switchScenes("answerText.fxml", stage); + } + + @FXML + private void testBtnClick(ActionEvent actionEvent) throws IOException { + Stage stage = Utils.getStageFromActionEven(actionEvent); + Utils.switchScenes("answerText.fxml", stage); + } } diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 04ac5cd..6a7e9ea 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -1,6 +1,7 @@ module at.ionas999.questioncatalog { requires javafx.controls; requires javafx.fxml; + requires java.desktop; opens at.ionas999.questioncatalog to javafx.fxml; opens at.ionas999.questioncatalog.controller to javafx.fxml; // Add this line diff --git a/src/main/resources/at/ionas999/questioncatalog/main.fxml b/src/main/resources/at/ionas999/questioncatalog/main.fxml index 14e4e44..1487b55 100644 --- a/src/main/resources/at/ionas999/questioncatalog/main.fxml +++ b/src/main/resources/at/ionas999/questioncatalog/main.fxml @@ -1,16 +1,18 @@ - - +