【问题标题】:javafx sortedlist error while clearing清除时javafx sortedlist错误
【发布时间】:2013-11-06 15:18:07
【问题描述】:

使用JavaFX 8 的新特性SortedList,绑定到一个TableView 排序比较器。 我的实现看起来像:

SortedList<T> sorted = myObservableList.sorted();
myTable.setItems(sorted);
sorted.comparatorProperty().bind(myTable.comparatorProperty());

myObservableList 在启动时是一个空的ObservableList。 我通过 FXML 设置了myTable 比较器属性。

我的用例是:

  1. 用数据填充myObservableList(排序和显示机器人工作正常)
  2. 清除myObservableList -> 抛出带有负索引的java.lang.ArrayIndexOutOfBoundsException
  3. 用一些其他数据重新填充myObservableList

我不知道为什么清除支持列表myObservableList 会引发错误。为什么 sortedlist 在清除时正在寻找索引? 我先尝试清除排序列表,但不支持此操作。

【问题讨论】:

  • 在 JavaFX 8.0 中,当我尝试将所有内容添加到 SortedList 时,我也会遇到错误,这些错误会一直返回到 AbstractList。我的解决方案是保留对位于 SortedList 基础的 ObservableList 的引用,并改为添加到该列表中,这会正确传播到 SortedList。听起来确实像一个 FX 错误。

标签: java javafx javafx-8 sortedlist


【解决方案1】:

我升级到最新版本 Build b114 并修复了该错误,因为它听起来确实像一个 FX 错误

但是,要小心,现在 addAll() 中断了,需要创建一个 for 循环并调用 add()。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 2021-11-22
    • 2019-11-25
    • 1970-01-01
    相关资源
    最近更新 更多