8

巨大なデータ (約 100,000 ) を含む javafx tableview にフィルターを実装する必要があります。

このチュートリアルを試しました。それは機能しますが、フィルタリングはスイングソートとフィルタリングコードと比較して本当に遅いです。

誰でも速度を上げるのを手伝ってもらえますか。

現在起こっているのは、textproperty change fire up と filterdata を入力すると遅いですが、スイングで発生するようにすばやく入力してフィルター結果を表示するものが必要です。

前もって感謝します。

ps私もこれを見まし

4

4 に答える 4

7

FilteredList を使用できます

ObservableList<YourObjectClass> actualList = ...;
FilteredList<YourObjectClass> filteredList = new FilteredList<>(actualList);

TableView table = ...;
table.setItems(filteredList);

// to filter
filteredList.setPredicate(
    new Predicate<YourObjectClass>(){
        public boolean test(YourObjectClass t){
            return false; // or true
        }
    }
);

スイングと同じくらい速い(おそらくスイングよりも速い...)。(100000行でテストしました)

于 2015-09-05T17:15:23.373 に答える