From c42890f0dff5ad14efd22e2de87d2afc4e758ac6 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Tue, 15 Dec 2015 21:02:54 +0100 Subject: Ask for Vorname and Nachname on Ansprechpartner --- .../view/AnsprechpartnerHinzufuegen.fxml | 28 +++++++++ .../view/AnsprechpartnerHinzufuegenController.java | 67 ++++++++++++++++++++++ .../view/AnsprechpartnerListeController.java | 22 +++++-- 3 files changed, 113 insertions(+), 4 deletions(-) create mode 100644 src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegen.fxml create mode 100644 src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegenController.java (limited to 'src/de') diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegen.fxml b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegen.fxml new file mode 100644 index 0000000..2e11c58 --- /dev/null +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegen.fxml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegenController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegenController.java new file mode 100644 index 0000000..0fd15de --- /dev/null +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegenController.java @@ -0,0 +1,67 @@ +package de.fhswf.in.inf.se.projektthemenvergabe.view; + +import java.io.IOException; + +import de.fhswf.in.inf.se.projektthemenvergabe.model.Ansprechpartner; +import javafx.application.Platform; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.control.ButtonType; +import javafx.scene.control.Dialog; +import javafx.scene.control.TextField; +import javafx.scene.layout.GridPane; +import javafx.util.Pair; + +public class AnsprechpartnerHinzufuegenController + extends Dialog> +{ + @FXML + private TextField vornameTextField; + + @FXML + private TextField nachnameTextField; + + /** + * Create a {@link Dialog} for entering Vorname und Nachname of an + * {@link Ansprechpartner} + * + * @throws IOException + */ + public AnsprechpartnerHinzufuegenController() + { + setTitle("Neuer Ansprechpartner"); + setHeaderText("Geben Sie den Namen des Ansprechpartners ein."); + + FXMLLoader fxmlLoader = new FXMLLoader( + getClass().getResource("AnsprechpartnerHinzufuegen.fxml")); + fxmlLoader.setController(this); + + try + { + getDialogPane().setContent((GridPane) fxmlLoader.load()); + } + catch (IOException e) + { + // Ignoriert, da die FXML Datei immer da sein sollte :-P + e.printStackTrace(); + } + + // Setze die Button Typen für den Dialog + getDialogPane().getButtonTypes().addAll(ButtonType.OK, + ButtonType.CANCEL); + + // Setze Focus auf Vorname TextField + Platform.runLater(() -> vornameTextField.requestFocus()); + + // Wenn OK gedrückt wurde, gib ein Vorname-Nachname-Paar zurück + setResultConverter(dialogButton -> { + if (dialogButton == ButtonType.OK) + { + return new Pair<>(vornameTextField.getText(), + nachnameTextField.getText()); + } + + return null; + }); + } +} diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java index 27f85c9..ac6bb34 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java @@ -20,6 +20,7 @@ import javafx.scene.control.TableView; import javafx.scene.control.TextInputDialog; import javafx.scene.control.cell.ComboBoxTableCell; import javafx.scene.control.cell.TextFieldTableCell; +import javafx.util.Pair; /** * The controller for the FXML-View AnsprechpartnerListe. @@ -255,11 +256,24 @@ public class AnsprechpartnerListeController Organisation organisation = organisationComboBox.getValue(); if (organisation != null) { - Ansprechpartner ansprechpartner = new Ansprechpartner(organisation); - ansprechpartner.setVorname("Petra"); - ansprechpartner.setNachname("Muster"); + AnsprechpartnerHinzufuegenController dialog; - main.getAnsprechpartner().add(ansprechpartner); + dialog = new AnsprechpartnerHinzufuegenController(); + + dialog.initOwner(main.getPrimaryStage()); + + Optional> result = dialog.showAndWait(); + + if (result.isPresent() && !result.get().getKey().trim().isEmpty() + && !result.get().getValue().trim().isEmpty()) + { + Ansprechpartner ansprechpartner = new Ansprechpartner( + organisation); + ansprechpartner.setVorname(result.get().getKey().trim()); + ansprechpartner.setNachname(result.get().getValue().trim()); + + main.getAnsprechpartner().add(ansprechpartner); + } } } } -- cgit v1.2.3-70-g09d2