我什至不确定如何正确地提出这个问题,但是当设置了 ComboBox
时,是否可以在此处添加监听器(在 ComboBox
中的此文本字段上)可编辑:
目前我正在为 ComboBox
使用 2 种监听器。鼠标和更改监听器。 MouseListener
用于点击 ComboBox
和 ChangeListener
用于选择 ComboBox
中的项目。但是我不知道应该使用哪种监听器来监听文本输入。
最佳答案
如果您只对 ComboBox
的可编辑区域(TextField
)感兴趣,请使用 ComboBox#getEditor()
。
ComboBox combobox = new ComboBox();
combobox.setEditable(true);
combobox.getEditor().textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable,
String oldValue, String newValue) {
System.out.println("Text changed");
}
});
当 TextField
失去焦点时,最后一个文本将设置为 ComboBox
的 valueProperty
。
关于JavaFX - 其文本字段的 ComboBox 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18657317/