У меня есть пользовательский объект FermentableInRecipe
, который заполняет TableView
. Чтобы реагировать на изменения элементов в списке, а также на сам список, я решил использовать экстрактор. Вот мое заявление и экземпляр моего ObservableList
:
private ObservableList<FermentableInRecipe> fermentablesInRecipe =
FXCollections.observableArrayList(item -> new Observable[]{item.WeightProperty()});
Вот соответствующие сегменты моего пользовательского класса:
public class FermentableInRecipe {
private DoubleProperty weight;
...
public Double getWeight() {
return this.weight.getValue();
}
public void setWeight(Double value) {
this.weight.setValue(value);
}
public DoubleProperty WeightProperty() {
if (weight == null) {
weight = new SimpleDoubleProperty(0.0);
}
return weight;
}
...
}
В приведенных ниже ссылках этот подход работал. Но Netbeans говорит мне, что "DoubleProperty
нельзя преобразовать в Observable
" . Я понимаю, почему это так, но я не могу понять, почему это работает в ссылках ниже, а не для меня, и как я должен создать экстрактор и связать его с функцией weightProperty()
, если этот подход не работает.
Ссылки:
Ящик выбора JavaFX 2.0. Как обновить choiceBox, представляющий список объектов, при обновлении объекта?
JavaFX, ObservableList: как запускать InvalidationListener при каждом изменении объекта списка?
Заранее спасибо. Дайте мне знать, если я пропустил какую-либо важную информацию.