/** * @param title Title, message * @param correct_password Password to check */ public PasswordDialog(final String title, final String correct_password) { this.correct_password = correct_password; final DialogPane pane = getDialogPane(); pass_entry.setPromptText(Messages.Password_Prompt); pass_entry.setMaxWidth(Double.MAX_VALUE); getDialogPane().setContent(pass_entry); setTitle(Messages.Password); setHeaderText(title); pane.getStyleClass().add("text-input-dialog"); pane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL); // Check password in dialog? if (correct_password != null && correct_password.length() > 0) { final Button okButton = (Button) pane.lookupButton(ButtonType.OK); okButton.addEventFilter( ActionEvent.ACTION, event -> { if (!checkPassword()) event.consume(); }); } setResultConverter( (button) -> { return button.getButtonData() == ButtonData.OK_DONE ? pass_entry.getText() : null; }); Platform.runLater(() -> pass_entry.requestFocus()); }