单击JavaFX后突出显示TextField中的所有文本

时间:2017-05-15 16:37:22

标签: java javafx textarea textfield

我正在创建一个JavaFX应用程序,在启动时,TextField的默认文本显示“请输入此值”,用户应该删除所述文本并输入值。但是,每次单击,拖动和突出显示所有文本都会非常痛苦。 当用户点击TextField时,有没有办法实现这一点,它会自动突出显示所有文本以便于删除,但只有当文本等于默认消息时?我研究了这个并且没有什么都找不到,任何帮助都会非常感激。

2 个答案:

答案 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());