如何清除TextInputDialog的输入字段?

时间:2016-11-05 20:04:57

标签: java javafx user-input

我的JavaFX程序有一系列提示,要求用户提供信息。我不想为每个提示创建一个新的TextInputDialog,而是创建一个TextInputDialog并将其重复用于多个提示。

import java.util.Optional;
import javafx.application.Application;
import javafx.scene.control.TextInputDialog;
import javafx.stage.Stage;

public class InventoryList extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        Optional<String> name;
        Optional<String> price;

        // Fetch user input
        TextInputDialog textDialog = new TextInputDialog();
        textDialog.setTitle("Create new item");
        textDialog.setHeaderText(null);

        textDialog.setContentText("Enter item name:");
        name = textDialog.showAndWait();

        textDialog.setContentText("Enter item price:");
        price = textDialog.showAndWait();
    }
}

不幸的是,用户从第一个提示输入的输入...

First prompt

开始第二次提示时不会被清除。

second prompt

是否可以在提示之间清除文本字段?

1 个答案:

答案 0 :(得分:3)

textDialog.getEditor().clear();