use*_*815 4 java javafx java-8 javafx-8
当我想要洗牌时,FilteredList
我得到一个java.lang.UnsupportedOperationException
.
怎么办呢?
码:
FilteredList<Card> filteredData =
new FilteredList(ob, filterByOption(option.get("selectedCard"), option.get("chapter")));
if (option.get("cardOrder") == "shuffle") {
filterCards=filteredData;
FXCollections.shuffle(filterCards);
}
Run Code Online (Sandbox Code Playgroud)
如文档中所述:
使用提供的谓词包装ObservableList并过滤其内容.ObservableList中的所有更改都会立即传播到FilteredList.
因此,您可以ObservableList
改为替换基础源:
FXCollections.shuffle(ob);
Run Code Online (Sandbox Code Playgroud)
例:
ObservableList<String> obsList =
FXCollections.observableArrayList("Amanda", "Bill", "Adam", "Albus", "Cicero");
FilteredList<String> fList = new FilteredList<>(obsList, s -> s.startsWith("A"));
System.out.println(fList);
FXCollections.shuffle(obsList);
System.out.println(fList);
Run Code Online (Sandbox Code Playgroud)
输出:
[Amanda, Adam, Albus]
[Adam, Albus, Amanda]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
180 次 |
最近记录: |