並べ替え機能とフィルター機能を備えたユーザー ビュー (テーブル) を作成したいと考えています。EventTableModel のソースとしてEventList ( Glazed Lists ) を使用します。また、GlazedLists には Sorted List といくつかのフィルタリング項目があるので、それらを使用してビューを作成できます。しかし、私はJXTableを見つけ、それにはソートとフィルタリングのメソッドがあり、これがどのように機能するかを示しています.ソートとフィルタリングはUIコンポーネントを提供する必要があり、モデルはデータを保持できます:
EventList<Item> source=new BasicEventList<Item>();
TableModel model=new DefaultEventTableModel<Item>(source,tableFormat); // It'll be
//perfect if I could create model without tableFormat,
//because it's presentation of data,
//but in GlazedLists I can't :( ...
JTalbe ui=new JXTable(model); // UI with sorting and filtering
ただし、GlazedLists は、SortedList (Sorting を使用した EventList のデコレータ) といくつかのフィルタリング メソッドも提供します。
EventList<Item> source=new BasicEventList<Item>();
SortedList<Item> sortedSource=new SortedList<Item>(source,comparator);
TableModel model=new DefaultEventTableModel<Item>(sortedSource,tableFormat);
// model with sorting... not very beautifull for me, but what do you think?
JTable ui=new JTable(model); // UI with sorting provided by model
そして問題は、どのモデルが優れているかです。または、両方が間違っている可能性があり、ビューの作成に何を使用しますか?