Model view controller 不兼容类型:布尔值无法转换为ObservableBoleAnValue

Model view controller 不兼容类型:布尔值无法转换为ObservableBoleAnValue,model-view-controller,javafx,listener,Model View Controller,Javafx,Listener,我试图使用下面的代码设置一个侦听器来禁用布尔条件下的按钮,但我不断收到一个错误消息 boolean无法转换为ObervableBooleanValue @FXML public void initialize(){ xBtn.disableProperty().bind(Bindings.not(model.booleanCondition()); } 下面的代码起作用,但当布尔条件为真时,再次将其设置为假,按钮保持启用状态 if (model.booleanCondition()) {xB

我试图使用下面的代码设置一个侦听器来禁用布尔条件下的按钮,但我不断收到一个错误消息

boolean无法转换为ObervableBooleanValue
@FXML
public void initialize(){
xBtn.disableProperty().bind(Bindings.not(model.booleanCondition());
}
下面的代码起作用,但当
布尔条件
时,再次将其设置为
,按钮保持启用状态

if (model.booleanCondition()) {xBtn.setDisable(false);}

model.booleanCondition()
返回什么?普通的
boolean
,或
BooleanProperty
?@James\u D如果它返回一个普通的布尔值,下面是booleanCondition:public booleanCondition(){for(X X:y)if(!booleanCondition(X))返回false;返回true;}您不能绑定到普通的布尔值。这是不可能被观察到的。您需要您的模型使您能够访问某种类型的
observatebooleanValue
(例如
BooleanProperty
)。看见如果需要更多帮助,请发布模型类的代码。@James_D-这是模型类的布尔条件::
public boolean boolean condition(){for(X:y)if(!boolean condition(X))return false;return true;}
不要在注释中发布代码:您的问题是包含它。正如我所说的,如果要使用绑定,需要在模型中使用JavaFX属性。阅读前面评论中链接的教程。