У меня есть книга правил, содержащая правила:
class Rulebook(val rules:MutableList<Rule>)
У меня есть ItemViewModel для него, так как он используется в пользовательском интерфейсе выбора с множественным вложением.
class RulebookModel : ItemViewModel<Rulebook> {
val rulesProperty = bind // ... here's my problem
}
Что такоеправильная привязка, чтобы иметь возможность инициализировать табличное представление со свойством?
Наивное связывание дает неправильный тип:
val rulesProperty = bind(Rulebook::rules)
имеет тип Property<MutableList<Rule>>
, который tableview () не принимает.
Из другого ответа здесь я получил Ссылка
val rulesProperty = bind(Rulebook::rules) as ListProperty<Rule>
Это дает правильный тип, поэтому мы получаем компиляцию, но во время выполнения я получаю это:
java.lang.ClassCastException: java.util.ArrayList нельзя преобразовать в javafx.collections.ObservableList
Примечание: RulebookModel
действительно запускает жизнь без элемента в немеще.Я видел ArrayLists
, пришедших из пустых списков фабричных вызовов.Возможно, это моя настоящая проблема?
Как правильно выполнить эту привязку?