我有一个组合框,我想在更改组合框中的项目后执行一些具有新值的操作:
myComboBox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
public void changed(ObservableValue observable, String oldValue, String newValue) {
myCallWithNewValue(newValue);
}
});
它运行得和我预期的一样好,直到我有了另一个按钮来清除组合框:myComboBox.getItems().clear();
当我点击这个清除按钮时,它会清除组合框的内容,但也会触发我想要避免的更改事件。我如何告诉combobox只通过鼠标点击而不通过清除按钮来触发更改的事件,有人能帮我吗。提前谢谢!
尝试:
if(newValue != null)
{
myCallWithNewValue(newValue);
}
我还没有测试这个答案。如果null无效,请尝试newValue != ""
。