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.AnchorPane; 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} * */ 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((AnchorPane) 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; }); } }