From 99419ed4712edbe808eceb804b1ddb767b8b84f9 Mon Sep 17 00:00:00 2001 From: SvenAlte Date: Wed, 13 Dec 2023 18:51:01 +0100 Subject: [PATCH] Gericht erstellen Maske --- .../EssensverwaltungMitarbeiterView.java | 11 ++++ .../GerichterstellungMitarbeiterView.java | 52 +++++++++++++++++++ .../vpr_app/HauptmenueMitarbeiterView.java | 5 +- .../vpr_app/VerwaltungApplication.java | 4 +- .../gerichterstellung_mitarbeiter-view.fxml | 34 ++++++++++++ .../vpr_app/hauptmenue_mitarbeiter-view.fxml | 4 +- .../de/subway_surfers/vpr_app/layout.css | 2 +- 7 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 src/main/java/de/subway_surfers/vpr_app/GerichterstellungMitarbeiterView.java create mode 100644 src/main/resources/de/subway_surfers/vpr_app/gerichterstellung_mitarbeiter-view.fxml diff --git a/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java b/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java index 386b8e6..e642836 100644 --- a/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java +++ b/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java @@ -9,6 +9,8 @@ import javafx.scene.layout.ColumnConstraints; import javafx.scene.layout.GridPane; import javafx.scene.layout.Priority; import javafx.scene.layout.RowConstraints; +import javafx.stage.Modality; +import javafx.stage.Stage; public class EssensverwaltungMitarbeiterView { @@ -42,6 +44,15 @@ public class EssensverwaltungMitarbeiterView { } public void onHinzufuegen(ActionEvent actionEvent) { + Stage gerichterstellung = new Stage(); + + //solange das neu geöffnete Fenster offen ist, wird das Hauptfenster gesperrt + gerichterstellung.initModality(Modality.APPLICATION_MODAL); + + VerwaltungApplication.sceneWechseln(gerichterstellung, 400, 530, "gerichterstellung_mitarbeiter-view.fxml"); + + gerichterstellung.minWidthProperty().set(400); + gerichterstellung.minHeightProperty().set(530); } public void onZurueck(ActionEvent actionEvent) { diff --git a/src/main/java/de/subway_surfers/vpr_app/GerichterstellungMitarbeiterView.java b/src/main/java/de/subway_surfers/vpr_app/GerichterstellungMitarbeiterView.java new file mode 100644 index 0000000..abe6a62 --- /dev/null +++ b/src/main/java/de/subway_surfers/vpr_app/GerichterstellungMitarbeiterView.java @@ -0,0 +1,52 @@ +package de.subway_surfers.vpr_app; + +import de.subway_surfers.vpr_app.logik.Zutat; +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.scene.Node; +import javafx.scene.control.Button; +import javafx.scene.control.TextArea; +import javafx.scene.control.TextField; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Pane; + +import java.util.ArrayList; + +public class GerichterstellungMitarbeiterView { + private @FXML HBox anzeigeInhaltsstoffe; + private @FXML TextArea eingabeBeschreibung; + private @FXML TextField eingabeName; + private @FXML Button buttonInhaltsstoffe; + private @FXML TextField eingabeInhaltsstoffe; + + private ArrayList zutaten; + + public void initialize() { + zutaten = new ArrayList<>(); + + //wird das Fenster vergrößert, wird das Eingabefeld für Inhaltstoffe und den Hinzufügenbutton + // auf die volle breite vergrößert. + ((Pane) eingabeInhaltsstoffe.getParent()).widthProperty().addListener((obs, oldValue, newValue) -> { + //eingabeName, da dieses Feld immer die gesamte breite der Stage haben. + eingabeInhaltsstoffe.setPrefWidth(eingabeName.getWidth() - buttonInhaltsstoffe.getPrefWidth()); + }); + } + + public void onButtonInhaltsstoffeClick(ActionEvent actionEvent) { + String text = eingabeInhaltsstoffe.getText(); + if (!text.equals("")) { + eingabeInhaltsstoffe.setText(""); + + Button neuerInhalt = new Button(); + neuerInhalt.setText(text); + anzeigeInhaltsstoffe.getChildren().add(neuerInhalt); + + Zutat neue = new Zutat(text); + zutaten.add(neue); + neuerInhalt.setOnAction(e -> { + ((HBox) neuerInhalt.getParent()).getChildren().remove(neuerInhalt); + zutaten.remove(neue); + }); + } + } +} 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 edf2df1..a9b9e65 100644 --- a/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java +++ b/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java @@ -8,8 +8,11 @@ public class HauptmenueMitarbeiterView { VerwaltungApplication.abmelden(); } - public void onAccountAnlegen(ActionEvent actionEvent) { + public void onAccountAnlegenClick(ActionEvent actionEvent) { VerwaltungApplication.sceneWechseln("accounterstellung_mitarbeiter.fxml"); } + public void onSpeiseplanClick(ActionEvent actionEvent) { + VerwaltungApplication.sceneWechseln("essensverwaltung_mitarbeiter-view.fxml"); + } } diff --git a/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java b/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java index 9a8524d..fc62891 100644 --- a/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java +++ b/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java @@ -95,10 +95,12 @@ public class VerwaltungApplication extends Application { Stage akt = VerwaltungApplication.getStage(); //neue Scene wird auf eine neue Stage gesetzt try { - Scene scene = new Scene(fxmlLoader.load(), width, height); + Scene scene = new Scene(fxmlLoader.load()); neue.setScene(scene); neue.show(); + neue.setHeight(height); + neue.setWidth(width); } //wird die angegebene fxml Datei nicht gefunden, wird ein Alertfenster geöffnet catch (IOException | RuntimeException e) { diff --git a/src/main/resources/de/subway_surfers/vpr_app/gerichterstellung_mitarbeiter-view.fxml b/src/main/resources/de/subway_surfers/vpr_app/gerichterstellung_mitarbeiter-view.fxml new file mode 100644 index 0000000..e8f76d3 --- /dev/null +++ b/src/main/resources/de/subway_surfers/vpr_app/gerichterstellung_mitarbeiter-view.fxml @@ -0,0 +1,34 @@ + + + + + + + + + +
+ + +