0

ソートされた JListのサンプルを見つけましたが、私のアプリケーションは組み込みの H2 データベースを使用しているため、それを念頭に置いてこれを実装するより良い方法がないかどうか疑問に思っています。特に、問題のテーブルが非常に大きくなる可能性があることを考慮すると、JList のリスト モデルでそのすべてのデータを複製することは、それを管理するためのデータベースを持つという点を少し無効にしているようです。

これを行う良い方法はありますか?それとも、JList が動的にクエリされたデータのチャンクなどを「スクロール」できるようにするために、いくつかの不器用なハックを組み合わせることを余儀なくされていますか?

4

1 に答える 1

2

は、バッキング データを順序付けられたリストとして公開する責任がありますJListのメソッドは UI (AWT イベント) スレッドから呼び出されるため、そのパフォーマンスはかなり良好である必要があります。これが、ほとんどの実装で のバッキング データがメモリ内にある理由です。データベースをバッキングデータとして実装できると思います。ほとんどの場合、拡張してリスナー登録を取得し、 および を実装します。次に、特定のインデックスのオブジェクトを取得する責任があります。が呼び出されることに注意してくださいListModelListModelJListListModelListModelAbstractListModelgetElementAt(int)getSize()getElementAtJListgetElementAtさまざまなインデックスに対して何度も実行されるため、結果がキャッシュされていることに気付くかもしれません。キャッシュしているデータの量によっては、データベースからデータセット全体を取得するだけかもしれません。

于 2009-05-13T20:18:08.050 に答える