单击 JavaFX 时突出显示 TextField 中的所有文本
Highlight all text in TextField upon click JavaFX
我正在制作一个 JavaFX 应用程序,在启动时,TextField 的默认文本为 "Please enter this value",用户应该删除该文本并输入一个值。但是,每次都单击、拖动和突出显示所有文本是一件非常痛苦的事情。 有没有办法让它在用户单击 TextField 时自动突出显示所有文本以便于删除,但仅当文本等于默认消息时才如此? 我研究过这个,找不到任何东西,任何帮助将不胜感激。
要执行您明确要求的操作,您可以使用
textField.focusedProperty().addListener((obs, wasFocused, isNowFocused) -> {
if (isNowFocused && DEFAULT_TEXT.equals(textField.getText())) {
textField.selectAll();
}
});
但无论如何使用 promptText
可能会更好:
textField.setPromptText(DEFAULT_TEXT);
这条线对我来说很好用
textField.setOnMouseClicked(e -> textField.selectAll());
我正在制作一个 JavaFX 应用程序,在启动时,TextField 的默认文本为 "Please enter this value",用户应该删除该文本并输入一个值。但是,每次都单击、拖动和突出显示所有文本是一件非常痛苦的事情。 有没有办法让它在用户单击 TextField 时自动突出显示所有文本以便于删除,但仅当文本等于默认消息时才如此? 我研究过这个,找不到任何东西,任何帮助将不胜感激。
要执行您明确要求的操作,您可以使用
textField.focusedProperty().addListener((obs, wasFocused, isNowFocused) -> {
if (isNowFocused && DEFAULT_TEXT.equals(textField.getText())) {
textField.selectAll();
}
});
但无论如何使用 promptText
可能会更好:
textField.setPromptText(DEFAULT_TEXT);
这条线对我来说很好用
textField.setOnMouseClicked(e -> textField.selectAll());