Отключить кнопку в зависимости от количества дочерних узлов в JavaFX - PullRequest
1 голос
/ 24 мая 2019

Мне нужно отключить кнопку в зависимости от количества дочерних элементов.

Я пробовал что-то подобное, что не так:

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)
);

Ответы [ 2 ]

6 голосов
/ 24 мая 2019
userDataHBox.getChildren().size()

просто возвращает текущий размер списка.Нечего там наблюдать.Вы можете использовать Bindings.size, чтобы получить IntegerBinding для размера, который можно использовать:

btn.disableProperty().bind(
    Bindings.size(userDataHBox.getChildren()).isNotEqualTo(3));
4 голосов
/ 24 мая 2019

Вот, пожалуйста:

btn.disableProperty().bind(
  Bindings.createBooleanBinding(()-> userDataHBox.getChildren().size() != 3, userDataHBox.getChildren())
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...