更改 JavaFX 文本字段的提示文本
Changing prompt text for JavaFX textfield
我在 JavaFX 应用程序中有一个选择框和该选择框旁边的文本字段。我希望文本字段中的灰色文本框告诉用户输入什么。但是,我希望提示文本根据选择框中的选择进行更改。
我在网上查看并找到了有关如何使用带有提示文本的文本字段的代码,但我无法通过选择框上的 changeListener 更改提示文本。
我试过了
textfield = new Textfield(newPrompt);
使用先前已使用不同提示文本声明的文本字段。这没有用。如何实现根据用户在选择框中的选择更改提示文本的效果?
不要将 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!");
}
});
我在 JavaFX 应用程序中有一个选择框和该选择框旁边的文本字段。我希望文本字段中的灰色文本框告诉用户输入什么。但是,我希望提示文本根据选择框中的选择进行更改。
我在网上查看并找到了有关如何使用带有提示文本的文本字段的代码,但我无法通过选择框上的 changeListener 更改提示文本。
我试过了
textfield = new Textfield(newPrompt);
使用先前已使用不同提示文本声明的文本字段。这没有用。如何实现根据用户在选择框中的选择更改提示文本的效果?
不要将 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!");
}
});