禁用按钮取决于JavaFX中另一个节点的子代数量

Dav*_* RJ 1 binding javafx

我需要根据某些子元素的数量禁用按钮。

我已经尝试过类似的事情,这是不对的:

HBox userDataHBox = new HBox(new Label("1"), new Label("2"), new Label("3"));
Button btn = new Button();
btn.disableProperty().bind(
  Bindings.notEqual(userDataHBox.getChildren().size(), 3)
);
Run Code Online (Sandbox Code Playgroud)

fab*_*ian 6

userDataHBox.getChildren().size()
Run Code Online (Sandbox Code Playgroud)

只是产生列表的当前大小。没什么可观察的。您可以使用Bindings.size获取可以使用IntegerBinding的大小:

btn.disableProperty().bind(
    Bindings.size(userDataHBox.getChildren()).isNotEqualTo(3));
Run Code Online (Sandbox Code Playgroud)