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 がインデックスを探しているのはなぜですか? 最初にソート済みリストをクリアしようとしましたが、この操作はサポートされていません。