2009-05-13 1 views
0

ソートされたJListにはsampleが見つかりましたが、アプリケーションにはH2データベースが組み込まれています。そのことを念頭においてこれを実装してください。問題のテーブルが非常に大きくなり、JListのリストモデルでそのデータをすべて複製することは、データベースを管理するという点をちょっと打ち破っているようです。Javaの問題:データベーステーブルを表すためにソートされたJListが必要

これを行うには良い方法がありますか?それとも、JListが動的にクエリされたデータなどを「スクロール」できるようにするために、ちょっと面倒なハッキングを強制する必要がありますか?

答えて

2

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

関連する問題