ListProperty
JavaFX 中有 CHANGEABLE吗?我需要一个ListProperty
支持add()
和remove()
方法,但我找不到。
SimpleListProperty
会扔UnsupportedOperationException
。
我发现的只是使用初始化程序来设置内容,但这不是我需要的。我需要从那里开始一个空的 Property end buld。
我不敢相信没有这样的事情;我一定是盲人,不知何故。有人可以指出我正确的方向吗?
ListProperty
JavaFX 中有 CHANGEABLE吗?我需要一个ListProperty
支持add()
和remove()
方法,但我找不到。
SimpleListProperty
会扔UnsupportedOperationException
。
我发现的只是使用初始化程序来设置内容,但这不是我需要的。我需要从那里开始一个空的 Property end buld。
我不敢相信没有这样的事情;我一定是盲人,不知何故。有人可以指出我正确的方向吗?
原来ListProperty()
是一个空包装器。
它不会初始化被包装的ObservableList<>
.
这在文档中绝对是不干净的,并且抛出UnsupportedOperationException
的内容具有误导性(应该是 NPE)。
默认构造函数在正常使用中是无用的,使用类似:
ListProperty<String> xxx = new SimpleListProperty<>(FXCollections.observableArrayList());
注意:使用简单的方法ObservableList
对我不起作用,因为我使用的是Property
方法(例如getBean()
:)
可观察列表是您正在寻找的列表。它有添加和删除方法。
import javafx.collections.ObservableList;
ObservableList<String> list = FXCollections.observableArrayList();
list.add("Jaya");
list.add("Prasad");
list.add("test");
list.remove(list.indexOf("test"));