package de.fhswf.in.inf.se.projektthemenvergabe.view; import java.io.IOException; 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.TextArea; import javafx.scene.layout.AnchorPane; public class KommentarHinzufuegenController extends Dialog { @FXML private TextArea kommentarTextArea; /** * Create a {@link Dialog} with an empty {@link TextArea}. * */ public KommentarHinzufuegenController() { this(""); } /** * Create a {@link Dialog} with a {@link TextArea} and initialValue as * text. * */ public KommentarHinzufuegenController(String initialValue) { setTitle("Projektkommentar hinzufügen"); setHeaderText("Geben Sie einen Kommentar zu dem Projekt ein."); FXMLLoader fxmlLoader = new FXMLLoader( getClass().getResource("KommentarHinzufuegen.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(); } kommentarTextArea.setText(initialValue); // Setze die Button Typen für den Dialog getDialogPane().getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL); // Setze Focus auf TextArea Platform.runLater(() -> kommentarTextArea.requestFocus()); // Wenn OK gedrückt wurde, gib ein den Kommentar zurück setResultConverter(dialogButton -> { if (dialogButton == ButtonType.OK) { return kommentarTextArea.getText(); } return null; }); } }