1

ListPropertyJavaFX 中有 CHANGEABLE吗?我需要一个ListProperty支持add()remove()方法,但我找不到。 SimpleListProperty会扔UnsupportedOperationException

我发现的只是使用初始化程序来设置内容,但这不是我需要的。我需要从那里开始一个空的 Property end buld。

我不敢相信没有这样的事情;我一定是盲人,不知何故。有人可以指出我正确的方向吗?

4

2 回答 2

6

原来ListProperty()是一个空包装器。
它不会初始化被包装的ObservableList<>.
这在文档中绝对是不干净的,并且抛出UnsupportedOperationException的内容具有误导性(应该是 NPE)。
默认构造函数在正常使用中是无用的,使用类似:

ListProperty<String> xxx = new SimpleListProperty<>(FXCollections.observableArrayList());

注意:使用简单的方法ObservableList对我不起作用,因为我使用的是Property方法(例如getBean():)

于 2014-06-26T15:34:15.140 回答
4

可观察列表是您正在寻找的列表。它有添加和删除方法。

import javafx.collections.ObservableList;

ObservableList<String> list = FXCollections.observableArrayList();
list.add("Jaya");
list.add("Prasad");
list.add("test");
list.remove(list.indexOf("test"));
于 2014-06-26T12:30:10.233 回答