2016-10-05 5 views
1

RowFilterの例ではテキストの比較しか行いませんが、特定のプロパティにリンクされている行はどのようにフィルタリングされますか?JTableカスタムRowFilter?

私のデータモデルクラス

class MyDataModel 
{ 
    private ArrayList<MyFile> data; // for the rows data 

...

class Myfile 
{ 
    private boolean error; // file name issues 
    private boolean ignored; // file ignored for process 
    private boolean exception; // file processed no matter other conditions 
... 

ので、どのように私はMyFileのが本当 (またはこれらのフィールドの一層複雑なテスト)に、いくつかのプロパティを持つ行をフィルタします

ありがとう

+0

に基づいてフィルタする方法について説明します17856131/714968)@trashgodによる回答 – mKorbel

答えて

1

テキストとはどういう意味ですか?比較?フィルタとオーバーライドされたインクルードメソッドを追加しましたか?

boolean include(RowFilter.Entry<? extends M,? extends I> entry) 

APIドキュメントここRowFilter自体はhttp://stackoverflow.com/a/([例えば]あなたは、整数/数に基づいて、または任意のプロパティ型

+0

確かに、奇妙な例では、regexfilter andfilter、orfilterについてしか話しませんでした... – fdsfdsfdsfds

0
RowFilter<Object,Object> filter = new RowFilter<Object,Object>() 
    { 
     public boolean include(Entry<? extends Object, ? extends Object> entry) 
     { 
      int rowID=(Integer)entry.getIdentifier(); 
      FilesTableModel data=(FilesTableModel) entry.getModel(); 
      return data.isVisible(rowID); 
     } 
    }; 
    TableRowSorter<FilesTableModel> sorter = new TableRowSorter<FilesTableModel>(data); 
    sorter.setRowFilter(filter); 
    table.setRowSorter(sorter); 
関連する問題