Можно ли связать непустое состояние ObservableList внутри ObjectProperty с помощью Bindings API?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Можно ли связать непустое состояние ObservableList внутри ObjectProperty с помощью Bindings API?

Сообщение Anonymous »

У меня есть ситуация, когда я хочу привязать BooleanProperty к непустому состоянию ObservableList, завернутого в ObjectProperty.
Вот краткое описание поведения, которое мне нужно:

Код: Выделить всё

    ObjectProperty obp = new SimpleObjectProperty();

BooleanProperty hasStuff = new SimpleBooleanProperty();

hasStuff.bind(/* What goes here?? */);

// ObservableProperty has null value
assertFalse(hasStuff.getValue());

obp.set(FXCollections.observableArrayList());

// ObservableProperty is no longer null, but the list has not contents.
assertFalse(hasStuff.getValue());

obp.get().add("Thing");

// List now has something in it, so hasStuff should be true
assertTrue(hasStuff.getValue());

obp.get().clear();

// List is now empty.
assertFalse(hasStuff.getValue());
Я хотел бы использовать построители класса Bindings, а не реализовывать цепочку пользовательских привязок.
The Bindings. Метод select(...) теоретически делает то, что я хочу, за исключением того, что нет Bindings.selectObservableCollection(...) и происходит приведение возвращаемого значения из общего select(...) и передать его в Bindings.isEmpty(...) не работает. То есть результат этого:

Код: Выделить всё

    hasStuff.bind(Bindings.isEmpty((ObservableList) Bindings.select(obp, "value")));
вызывает исключение ClassCastException:

Код: Выделить всё

java.lang.ClassCastException: com.sun.javafx.binding.SelectBinding$AsObject cannot be cast to javafx.collections.ObservableList
Возможен ли этот вариант использования только с использованием API привязок?

Подробнее здесь: https://stackoverflow.com/questions/216 ... -an-object
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как привязать элемент ObservableList к DataTemplate
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Почему я получаю эту ошибку? form-bindings: класс для привязки не существует или исключен из компиляции.
    Anonymous » » в форуме JAVA
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Clang python Bindings: как получить подпись указателя функции из курсора CALL_EXPR
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Clang python Bindings: как получить подпись указателя функции из курсора CALL_EXPR
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как использовать SDL2.Bindings в С#, чтобы открыть окно
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»