Javafx 如果值为空且包含选定值,则禁用组合框

Javafx 如果值为空且包含选定值,则禁用组合框,javafx,lambda,java-8,combobox,Javafx,Lambda,Java 8,Combobox,我有两个组合框示例组合框a和b。当comboBox a为空并且从comboBox a中选择特定值时,我想禁用comboBox b comboboxb.disableProperty().bind( JavaFxObserver.toBinding( JavaFxObservable.nullableValuesOf(comboboxa.getSelectionModel().selectedItemProperty()) .map(test

我有两个组合框示例组合框a和b。当comboBox a为空并且从comboBox a中选择特定值时,我想禁用comboBox b

comboboxb.disableProperty().bind(
        JavaFxObserver.toBinding(
        JavaFxObservable.nullableValuesOf(comboboxa.getSelectionModel().selectedItemProperty())
            .map(test -> !comboboxaEnum.isPresent() || comboboxaEnum.equals(comboboxaEnum.XX) ))
    );

只有当comboBox为空时才禁用它。

如果需要检查两个条件,则使用
绑定
逻辑操作:

comboBoxB.disableProperty().bind(
    Bindings.or(
       Bindings.equal(comboBoxA.getSelectionModel().selectedItemProperty(), "Value Which Disables"),
       Bindings.isNull(comboBoxA.getSelectionModel().selectedItemProperty())
));

我设法使用Easybind禁用了组合框

 comboboxb.disableProperty()
    .bind(EasyBind.map(comboboxa.getSelectionModel().selectedItemProperty(),
        comboboxaEnum ->
            comboBoxAEnum == comboBoxAEnum.XX || comboBoxAEnum == null));

当ComboBox
a
为空时,如何为其选择特定值?不清楚。。。