我正在创建一个JavaFX应用程序,在启动时,TextField的默认文本显示“请输入此值”,用户应该删除所述文本并输入值。但是,每次单击,拖动和突出显示所有文本都会非常痛苦。 当用户点击TextField时,有没有办法实现这一点,它会自动突出显示所有文本以便于删除,但只有当文本等于默认消息时?我研究了这个并且没有什么都找不到,任何帮助都会非常感激。
答案 0 :(得分:3)
要执行您明确要求的操作,您可以使用
textField.focusedProperty().addListener((obs, wasFocused, isNowFocused) -> {
if (isNowFocused && DEFAULT_TEXT.equals(textField.getText())) {
textField.selectAll();
}
});
但最好还是使用promptText
来实现此功能:
textField.setPromptText(DEFAULT_TEXT);
答案 1 :(得分:0)
这行对我来说很好
textField.setOnMouseClicked(e -> textField.selectAll());