更改JavaFX文本字段的提示文本

时间:2015-06-25 20:19:33

标签: javafx textfield

我在JavaFX应用程序中的该选项框旁边有一个选择框和文本字段。我希望文本字段中的灰色文本框告诉用户输入什么。但是,我希望根据选择框中选择的内容更改提示文本。

我在线查看并找到了如何使用提示文字的文本字段的代码,但是我无法通过选择框上的changeListener来更改提示文本。

我试过

textfield = new Textfield(newPrompt);

以前已使用不同提示文本声明的文本字段。这没用。如何根据选择框中的用户选择实现更改提示文本的效果?

1 个答案:

答案 0 :(得分:2)

不是将textfield变量重新分配给新的TextField对象(通过textfield = new TextField(newPrompt);),而是在ChangeListener中使用TextField的setPromptText(String s)方法:

final ChoiceBox<String> box = ...; //choicebox created and filled

box.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
        @Override
        public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
            textfield.setPromptText("New Prompt Text!");
        }
    });