Отсрочка выполнения функции до тех пор, пока значение строки не будет возвращено из окна javafx

В моей программе пользователь вводит пароль во внешнем окне, а затем этот пароль передается через функцию. Проблема в том, что функция выполняется до того, как пользователь может ввести пароль. Вот мое окно пароля. Пасс уже объявлен как статическая строка для класса

public static String enterPassword()
{

    Stage primaryStage = new Stage();

    VBox vb = new VBox();

    vb.setPadding(new Insets(10, 0, 0, 10));

    vb.setSpacing(10);

    HBox hb = new HBox();

    hb.setSpacing(10);

    hb.setAlignment(Pos.CENTER_LEFT);

    Label label = new Label("Password");

    final PasswordField pb = new PasswordField();

    final TextField textField = new TextField();

    textField.setManaged(false);

    textField.setVisible(false);

    CheckBox checkBox = new CheckBox("Show/Hide password");

    textField.managedProperty().bind(checkBox.selectedProperty());


    textField.visibleProperty().bind(checkBox.selectedProperty());


    pb.managedProperty().bind(checkBox.selectedProperty().not());

    pb.visibleProperty().bind(checkBox.selectedProperty().not());

    // Bind the textField and passwordField text values 
    bidirectionally.

    textField.textProperty().bindBidirectional(pb.textProperty());

    pb.setOnAction(e -> 
    {

        passw = pb.getText();




       pb.clear();
       primaryStage.hide();

    });

    textField.setOnAction(e -> 
    {

        passw = textField.getText();

        textField.clear();

        primaryStage.hide();
    });

    hb.getChildren().addAll(label, pb, textField, checkBox);
    vb.getChildren().addAll(hb);
    Scene scene = new Scene(vb, 450, 90);
    primaryStage.setScene(scene);


    primaryStage.show();



    return passw;

}

И вот код, в котором выполняется функция hostRun

password = enterPassword();

while(password == null)
{

}

hostRun(4000000, '0', index, password, 0);

Здесь я пробую цикл while, чтобы задержать выполнение hostRun, но даже это приводит к сбою окна пароля. Как задержать выполнение хоста, пока пользователь не вводит пароль?

java,javafx,

0