2014-12-07 1 views
0

Я использую FXCollections.reverse на ObservableList создана с использованием FXCollections.observableArrayList(), и метод бросает UnsupportedOperationException. Я даже попытался изменить список, созданный с использованием FXCollections.observableList(list), с различными типами списка, bu обратный метод продолжает бросать исключение.FXCollections.reverse метания UnsupportedOperationException

У меня пропало что-то?

P.S. Я использую JavaFX на Linux.

+0

Вы можете разместить код? Это отлично работает для меня. –

+0

Я просто делаю '... ObservableList list = FXCollections.observableArrayList(); FXCollections.reverse (список); ... ' Я действительно прошел через код JavaFX и кажется, что (по крайней мере, версия, которую я имею в Linux), FXCollections.reverse не работает, поскольку оболочка списка, используемая для создания любых списков, не имеет реализован метод setAll(). –

+0

Двойная проверка. Код есть (моя ошибка). Все еще не знаю, что это может быть –

ответ

0

Думайте, что я нашел проблему. Я пытался вызвать FXCollections.reverse() из обратного вызова ListChangeListener для того же списка. Мои было что-то вроде:

общественного класса AClass {

private static ObservableList<Double> list; 

public static void main(String[] args) throws Exception { 
    list = FXCollections.observableArrayList(); 
    list.addListener((ListChangeListener.Change<? extends Point> change) -> { 
     while (change.next()) { 
      if (change.wasRemoved() || change.wasAdded()) { 
       doSomethingFunction(); 
      } 
     } 
    }); 
} 

private static void doSomethingFunction() { 
    FXCollections.reverse(list); 
} 

}

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