JTable regexFilter对int过滤第一列?

时间:2014-08-06 15:20:31

标签: java swing jtable rowfilter

我需要过滤第一列的JTable的regexFilter构造函数中的数字是多少? 0还是1? e.g。

 ArrayList<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(3);
    TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(); 
    if(!fa.getCaseID().equals("*CASEID*")){
        filters.add(RowFilter.regexFilter(fa.getCaseID(),0));//filter first column
    }
    if(!fa.getState().equals("*ANY*")){
        filters.add(RowFilter.regexFilter(fa.getState(),4));//filter fifth column 
    }
    RowFilter<Object,Object> filter = RowFilter.andFilter(filters);
            sorter.setRowFilter(filter); 
            mTable.setRowSorter(sorter);

1 个答案:

答案 0 :(得分:1)

这有点棘手,因为它未在RowFilter.regexFilter()文档中明确说明,但您可以从此片段推断:

  

抛出:

     

NullPointerException - 如果正则表达式为空   IllegalArgumentException - 如果任何指数是&lt; 0
  PatternSyntaxException - 如果正则表达式不是有效的正则表达式。

即使0也是一个合法的论点。因此,第一列将是0