2013-11-06 3 views
0

Использование новой функции SFTP 8 SortedList, привязанной к компаратору сортировки TableView. моя реализация выглядит следующим образом:ошибка сортировки javafx при очистке

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

myObservableList является пустым ObservableList при запуске. Я установил myTable компаратор собственности через FXML.

Мой случай использования:

  1. Заселите myObservableList с данными (сортировка и отображение работает бот отлично)
  2. ясно myObservableList -> бросать java.lang.ArrayIndexOutOfBoundsException с отрицательным индексом
  3. повторно заполнить myObservableList с некоторыми другие данные

Я не знаю, почему очистка списка подкачки myObservableList порождает ошибку или. Почему сортированный список ищет индексы при очистке? Я попытался сначала очистить отсортированный список, но эта операция не поддерживается.

+0

В JavaFX 8.0, когда я пытаюсь добавить AllAll в SortedList, я получаю ошибки, которые полностью возвращаются к AbstractList. Мое решение состоит в том, чтобы сохранить ссылку на ObservableList, которая находится в базе SortedList и вместо этого добавить в этот список, который правильно распространяется на SortedList. Похоже на ошибку FX. – Warkst

ответ

0

я повышен до последней сборки Build b114 и исправляет ошибку, как это на самом деле звучит как FX ошибка

Но, будьте осторожны, теперь addAll() перерывы, нужно создать цикл и вызвать добавить().

Смежные вопросы