JTableまたはGlazedListsを使用した複数のフィルター/検索の作成と使用
-
06-07-2019 - |
質問
通常のテーブルで複数のフィルターを使用する方法と、すべてが GlazedLists
。しかし、答えはそれを使用する方法を指定しませんでした。 1つのフィルターを機能させることができましたが、複数のフィルターを取得する方法がわかりません。
使用したフィルターの1つ:
// nameE is a BasicEventList containing classes (name) which
// contain the table values
TextFilterList filtered = new TextFilterList(nameE);
JTextField filterEdit = filtered.getFilterEdit();
// Inside the table value class (name) there is a filter for myName
public void getFilterStrings(List baseList) {
baseList.add(myName);
}
コードの複製と別の <の作成code> JTextField は機能しません。この問題を調べたところ、 CompositeMatcherEditor
が機能する場合があります。問題は、これを実装する方法がわからないことです。
また、私はEclipseを使用しています。 GlazedLists
1.8.0をダウンロードし、Eclipseにドロップしました。ただし、使用できません。私はすべての場所に赤い四角があります(ソースフォルダーを除く)! jarファイルも追加しました。
自分自身を正しく説明したことを願っています。拡大する必要がある場合はお知らせください。
My Pastebin:名前、ブラウザ、 TableFormat 、 TableModel
解決
TextFilterListは非推奨です- javadocs -しかし、それは副次的な問題です。
ここで使用できる方法はいくつかあります-本当にシンプルにしたい場合は、フィルターリストを別のフィルターリストにラップするだけです:
EventList filtered = new FilterList(new FilterList(nameE, myFirstMatcherEditor), mySecondMatcherEditor);
より良い方法は、複数のマッチャーエディターを使用して CompositeMatcherEditor :
EventList filtered = new FilterList(nameE, new CompositeMatcherEditor(myFirstMatcherEditor, mySecondMatcherEditor));
setModeを使用して、ANDまたはOR動作を使用してエディターを組み合わせるかどうかを制御できます。
フィルタリストの使用に関する必読の情報をご覧ください。
利用可能なスクリーンキャストこちらも数分投資する価値があります。