Steven V. Steven V. - 1 year ago 97
Java Question

JavaFX: How do I clear the input field of a TextInputDialog?

My JavaFX program has a series of prompts asking the user for information. Rather than create a new TextInputDialog instance for each prompt, I decided to create a single instance and reuse it for multiple prompts.

Optional<String> textResult;
String name;
double price;
int quantity;

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

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

textDialog.setContentText("Enter item price:");
textResult = textDialog.showAndWait();
price = Double.parseDouble( textResult.get() );

textDialog.setContentText("Enter item quantity:");
textResult = textDialog.showAndWait();
quantity = Integer.parseInt( textResult.get() );
catch (NumberFormatException error)
Alert errorAlert = new Alert( AlertType.ERROR, "Unable to parse field.");

The only issue is that the user's input from the first prompt isn't cleared when starting the second prompt. Is it possible to clear the textfield between prompts?

Answer Source