From 9b15191da64828363d09daa92d5f738edaccb386 Mon Sep 17 00:00:00 2001 From: SvenAlte Date: Sat, 9 Dec 2023 15:56:47 +0100 Subject: [PATCH] wechseln zwischen Masken. --- .../vpr_app/HauptmenueMitarbeiterView.java | 5 + .../vpr_app/HelloApplication.java | 25 ---- .../vpr_app/HelloController.java | 16 --- .../de/subway_surfers/vpr_app/LoginView.java | 2 + .../vpr_app/VerwaltungApplication.java | 115 ++++++++++++++++++ .../vpr_app/VerwaltungController.java | 26 ++++ .../vpr_app/hauptmenue_mitarbeiter-view.fxml | 2 +- .../de/subway_surfers/vpr_app/hello-view.fxml | 16 --- .../de/subway_surfers/vpr_app/layout.css | 8 +- .../de/subway_surfers/vpr_app/login-view.fxml | 12 +- 10 files changed, 159 insertions(+), 68 deletions(-) delete mode 100644 src/main/java/de/subway_surfers/vpr_app/HelloApplication.java delete mode 100644 src/main/java/de/subway_surfers/vpr_app/HelloController.java create mode 100644 src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java create mode 100644 src/main/java/de/subway_surfers/vpr_app/VerwaltungController.java delete mode 100644 src/main/resources/de/subway_surfers/vpr_app/hello-view.fxml diff --git a/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java b/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java index b0dd68a..d4a9af5 100644 --- a/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java +++ b/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java @@ -1,4 +1,9 @@ package de.subway_surfers.vpr_app; +import javafx.event.ActionEvent; + public class HauptmenueMitarbeiterView { + public void onAbmelden(ActionEvent actionEvent) { + VerwaltungApplication.sceneWechseln("login-view.fxml"); + } } diff --git a/src/main/java/de/subway_surfers/vpr_app/HelloApplication.java b/src/main/java/de/subway_surfers/vpr_app/HelloApplication.java deleted file mode 100644 index d4aad50..0000000 --- a/src/main/java/de/subway_surfers/vpr_app/HelloApplication.java +++ /dev/null @@ -1,25 +0,0 @@ -package de.subway_surfers.vpr_app; - -import javafx.application.Application; -import javafx.fxml.FXMLLoader; -import javafx.scene.Scene; -import javafx.stage.Stage; - -import java.io.IOException; - -public class HelloApplication extends Application { - - @Override - public void start(Stage stage) throws IOException { - FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("login-view.fxml")); - Scene scene = new Scene(fxmlLoader.load(), 960, 540); - stage.setTitle("Hello!"); - stage.setScene(scene); - stage.show(); - } - - public static void main(String[] args) { - launch(); - } - -} \ No newline at end of file diff --git a/src/main/java/de/subway_surfers/vpr_app/HelloController.java b/src/main/java/de/subway_surfers/vpr_app/HelloController.java deleted file mode 100644 index e80234c..0000000 --- a/src/main/java/de/subway_surfers/vpr_app/HelloController.java +++ /dev/null @@ -1,16 +0,0 @@ -package de.subway_surfers.vpr_app; - -import javafx.fxml.FXML; -import javafx.scene.control.Label; - -public class HelloController { - - @FXML - private Label welcomeText; - - @FXML - protected void onHelloButtonClick() { - welcomeText.setText("Welcome to JavaFX Application!"); - } - -} \ No newline at end of file diff --git a/src/main/java/de/subway_surfers/vpr_app/LoginView.java b/src/main/java/de/subway_surfers/vpr_app/LoginView.java index 267dd36..55429ae 100644 --- a/src/main/java/de/subway_surfers/vpr_app/LoginView.java +++ b/src/main/java/de/subway_surfers/vpr_app/LoginView.java @@ -1,4 +1,6 @@ package de.subway_surfers.vpr_app; +import javafx.scene.control.Button; + public class LoginView { } diff --git a/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java b/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java new file mode 100644 index 0000000..7ab829f --- /dev/null +++ b/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java @@ -0,0 +1,115 @@ +package de.subway_surfers.vpr_app; + +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Scene; +import javafx.scene.control.Alert; +import javafx.stage.Stage; + +import java.io.IOException; + +public class VerwaltungApplication extends Application { + + private static Stage stage; + + @Override + public void start(Stage stage) throws IOException { + FXMLLoader fxmlLoader = new FXMLLoader(VerwaltungApplication.class.getResource("login-view.fxml")); + Scene scene = new Scene(fxmlLoader.load()); + + stage.setWidth(960); + stage.setHeight(540); + + stage.setMinWidth(960); + stage.setMinHeight(540); + + stage.setTitle("Hello!"); + stage.setScene(scene); + stage.show(); + + VerwaltungApplication.stage = stage; + } + + public static Stage getStage() { + return stage; + } + public static void setStage(Stage stage) { + VerwaltungApplication.stage = stage; + } + + /** + * Die Scene auf der aktuellen Stage wird durch die in der fxml-Datei definierte Scene ausgetauscht. + * + * Geschrieben: Sven Alteköster + * Getestet: + * + * @param fxml name der zu ladenden fxml Datei. + */ + public static void sceneWechseln(String fxml) { + FXMLLoader fxmlLoader = new FXMLLoader(VerwaltungApplication.class.getResource(fxml)); + + Stage akt = VerwaltungApplication.getStage(); + + double breite = akt.getWidth(); + double hoehe = akt.getHeight(); + + //neue Scene wird auf die Stage gesetzt + try { + Scene scene = new Scene(fxmlLoader.load()); + akt.setScene(scene); + + akt.show(); + + akt.setWidth(breite); + akt.setHeight(hoehe); + } + //wird die angegebene fxml Datei nicht gefunden, wird ein Alertfenster geöffnet + catch (IOException e) { + Alert alert = new Alert(Alert.AlertType.ERROR); + alert.setContentText("Beim Laden der Maske ist ein Fehler aufgetreten"); + alert.showAndWait(); + + e.printStackTrace(); + } + + } + + /** + * in einem neuen Fenster wird die in der fxml-Datei definierte Scene gesetzt. + * Die geladene Scene wird nicht zu der neuen Hauptstage. + * + * Geschrieben: Sven Alteköster + * Getestet: + * + * @param neue Stage auf der die Scene gesetzt werden soll + * @param width breite des neuen Fensters + * @param height höhe des neuen Fensters + * @param fxml name der fxml Datei + */ + public static void sceneWechseln(Stage neue, int width, int height, String fxml) { + FXMLLoader fxmlLoader = new FXMLLoader(VerwaltungApplication.class.getResource(fxml)); + + Stage akt = VerwaltungApplication.getStage(); + //neue Scene wird auf eine neue Stage gesetzt + try { + Scene scene = new Scene(fxmlLoader.load(), width, height); + neue.setScene(scene); + + neue.show(); + } + //wird die angegebene fxml Datei nicht gefunden, wird ein Alertfenster geöffnet + catch (IOException | RuntimeException e) { + Alert alert = new Alert(Alert.AlertType.ERROR); + alert.setContentText("Beim Laden der Maske ist ein Fehler aufgetreten"); + alert.showAndWait(); + + e.printStackTrace(); + } + + } + + public static void main(String[] args) { + launch(); + } + +} \ No newline at end of file diff --git a/src/main/java/de/subway_surfers/vpr_app/VerwaltungController.java b/src/main/java/de/subway_surfers/vpr_app/VerwaltungController.java new file mode 100644 index 0000000..458685a --- /dev/null +++ b/src/main/java/de/subway_surfers/vpr_app/VerwaltungController.java @@ -0,0 +1,26 @@ +package de.subway_surfers.vpr_app; + +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.Scene; +import javafx.scene.control.Alert; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.stage.Stage; + +import java.io.IOException; + +public class VerwaltungController { + + public void initialize(){ + } + + + /** + * Wird der Abmeldenbutton geklickt, wird der Nutzer angemeldet. + */ + public void onAnmeldenClick(ActionEvent actionEvent) { + VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml"); + } +} \ No newline at end of file diff --git a/src/main/resources/de/subway_surfers/vpr_app/hauptmenue_mitarbeiter-view.fxml b/src/main/resources/de/subway_surfers/vpr_app/hauptmenue_mitarbeiter-view.fxml index 1105619..588890e 100644 --- a/src/main/resources/de/subway_surfers/vpr_app/hauptmenue_mitarbeiter-view.fxml +++ b/src/main/resources/de/subway_surfers/vpr_app/hauptmenue_mitarbeiter-view.fxml @@ -15,7 +15,7 @@ -