2017-09-01 9 views
0

を管理:私は必要なものJTableの行ソーター - フィルタIは、行フィルタを持っていますが、私は...値以外のすべてをロードする必要が</p> <p>例

col1 | col2 
----------- 
1 | N 
2 | Y 
3 | O 

col1 | col2 
----------- 
1 | N 
3 | O 

私の持っているもの:

RowFilter<TableModel, Object> firstFiler = null; 
List<RowFilter<TableModel, Object>> filters = new 
ArrayList<RowFilter<TableModel, Object>>(); 
RowFilter<TableModel, Object> compoundRowFilter = null; 
try { 
    firstFiler = RowFilter.regexFilter("(?i)" + text, 1); 
    filters.add(firstFiler); 
    compoundRowFilter = RowFilter.andFilter(filters); 
} catch (java.util.regex.PatternSyntaxException e) { 
    return; 
} 
sorter.setRowFilter(compoundRowFilter); 

答えて

1

Javadocの例:

https://docs.oracle.com/javase/8/docs/api/javax/swing/RowFilter.html

上記のJavaDocリンクから次の例では、文字列「A」で始まる1つ以上の値を含むエントリのみを許可含む方法を示している:

RowFilter<Object,Object> startsWithAFilter = new RowFilter<Object,Object>() { 
    public boolean include(Entry<? extends Object, ? extends Object> entry) { 
    for (int i = entry.getValueCount() - 1; i >= 0; i--){    
     if(entry.getStringValue(i).startsWith("a")) { 
     // The value starts with "a", include it 
     return true; 
     } 
    } 
    // None of the columns start with "a"; return false so that this 
    // entry is not shown 
    return false; 
    } 
}; 

上記の例を変更して、 "2"以外のすべてを含めることができます。

JavaDocリンクの概要を読んで、その動作をよりよく理解することをお勧めします。

関連する問題

 関連する問題