JXTable
SwingXプロジェクトのfromには、RowFilter
に直接設定するメソッドがありJXTable
ます(を参照JXTable#setRowFilter
)。
フィルタの実装が動的である場合に何をする必要があるかは私にはわかりません。
比較すると、JDKRowSorter
ではJDK1.6にインターフェースが導入されており、このインターフェースでは。をアタッチできますRowSorterListener
。ダイナミックRowSorter
(フィルタリングにも使用可能)がある場合は、フィルターが変更されたときにそれらのリスナーにイベントを発生させることができます(ただし、JDKにはまたRowSorter
はなどがないため、フィルターがにアクセスできる必要があります) )。DynamicRowFilter
RowFilterEvent
私が期待するのは、に「監視可能」を設定でき、RowFilter
何JXTable
もする必要がないということです。しかし、それは現在のAPIでは不可能であるように思われるので、次善の策は何ですか?
- フィルタが変更されるたびに、フィルタを再設定します。以前に設定されたものとまったく同じインスタンスであるため、これも効果があり
JXTable
ますか? - テーブルイベントを悪用し、テーブルモデルが変更されたというイベントを発生させるだけで、並べ替え/フィルタリングが再トリガーされます
- メソッドを使用せず
setRowFilter
、独自のメソッドを作成TableRowSorter
して、JDKAPIにフォールバックします。