使用 JavaFX 8 的新功能 SortedList,绑定到 TableView 排序比较器。我的实现看起来像:
SortedList<T> sorted = myObservableList.sorted();
myTable.setItems(sorted);
sorted.comparatorProperty().bind(myTable.comparatorProperty());
myObservableList
启动时为空ObservableList
。我myTable
通过 FXML 设置比较器属性。
我的用例是:
- 填充
myObservableList
数据(排序和显示工作正常) - 清除->以负索引
myObservableList
抛出java.lang.ArrayIndexOutOfBoundsException
- 重新填充
myObservableList
一些其他数据
我不知道为什么清除支持列表myObservableList
会引发错误。为什么 sortedlist 在清除时正在寻找索引?我首先尝试清除排序列表,但不支持此操作。