JavaFX:为什么FilteredList没有实现add()?

OnS*_*nSN 1 java javafx

我正在使用FilteredList,但它不能像我预期的那样工作.

初始化看起来像这样:

listViewItems = new FilteredList<>(items);
Run Code Online (Sandbox Code Playgroud)

我的操作是这样的:

listViewItems.add(new Object());
Run Code Online (Sandbox Code Playgroud)

它会抛出一个UnsupportedOperationException.

nfe*_*ner 7

A FilteredList是源列表的包装器.由于它只是真实列表的局部视图,因此无法修改.

编辑:您可以通过使用getSource()访问它然后调用add()或修改基础列表remove().然后,FilteredList它将自动反映源列表的新状态.