【问题标题】:Jtable filtering failedJtable 过滤失败
【发布时间】:2013-05-15 03:11:16
【问题描述】:

我有一个 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");
     }
   }

问题是单击时没有任何反应,我调试我的程序并且正常调用“actionperformed”。我的代码有什么问题?

【问题讨论】:

    标签: java swing jtable filtering rowfilter


    【解决方案1】:

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

    请参阅 Sorting and Filtering 上的 Swing 教程部分以获取工作示例。

    【讨论】:

      猜你喜欢
      • 2021-04-10
      • 2012-03-16
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 2011-07-30
      相关资源
      最近更新 更多