我需要根据某些子元素的数量禁用按钮。
我已经尝试过类似的事情,这是不对的:
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)
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)