JavaFX-如何限制组合框仅通过单击鼠标即可触发更改的事件

时间:2018-12-12 15:45:27

标签: javafx combobox

我有一个组合框,在更改组合框中的项目后,我想用新值执行一些操作:

myComboBox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
    public void changed(ObservableValue observable, String oldValue, String newValue) {
        myCallWithNewValue(newValue);
    }
});

它工作正常,直到我有另一个按钮可以清除组合框: myComboBox.getItems().clear();

当我单击此清除按钮时,它将清除组合框的内容,但还会触发我要避免的已更改事件。我怎样才能告诉combobox仅通过单击鼠标而不是通过清除按钮来触发更改的事件,任何人都可以帮助我。预先谢谢你!

1 个答案:

答案 0 :(得分:0)

尝试:

if(newValue != null)
{
    myCallWithNewValue(newValue);
}

我还没有测试这个答案。如果null不起作用,请尝试newValue != ""