Jtable过滤失败

时间:2013-05-20 14:19:30

标签: java swing jtable filtering rowfilter

我有一个Jtable,我想根据用户条目过滤它。 我写了这段代码:

data_table = new JTable(model); // create data table

data_table.setModel(new DefaultTableModel(pin, colNames)); // fill jtable
model = new DefaultTableModel(pin, colNames); // create a table model

final TableRowSorter<TableModel> sorter;

sorter = new TableRowSorter<TableModel>(model);

data_table.setRowSorter(sorter);

点击后我就有了这段代码:

String text = filter_txtf.getText(); // i get the user entry from a text field
    if (text.length() == 0) {
     sorter.setRowFilter(null);
      //data_table.setRowSorter(sorter);  
    } else {
      try {
        sorter.setRowFilter(
            RowFilter.regexFilter(text));
        //data_table.setRowSorter(sorter);  
      } catch (PatternSyntaxException pse) {
        System.err.println("Bad regex pattern");
     }
   }

问题在于,点击没有任何反应,我调试我的程序和'#action;执行&#39;通常叫。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:2)

基本代码看起来很合理,但由于您没有提供SSCCE,我们无法查看代码的使用方式。不需要if / else语句,只需要重置行过滤器。

有关工作示例,请参阅Sorting and Filtering上的Swing教程中的部分。