Javafx 如果值为空且包含选定值,则禁用组合框
我有两个组合框示例组合框a和b。当comboBox a为空并且从comboBox a中选择特定值时,我想禁用comboBox bJavafx 如果值为空且包含选定值,则禁用组合框,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
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
为空时,如何为其选择特定值?不清楚。。。