0

这里阅读并且不理解这个概念,我不得不在这里发布我的问题。我正在尝试从关键字中获取输入值JTextField并过滤我的JTable table_job. 在此处输入图像描述

当按下搜索按钮时,它应该将Job List面板中的表格更改为仅显示在其表格中的任何列中包含关键字的工作集。目前,我没有运气并且正在获得空白屏幕。

这是作业列表屏幕

在此处输入图像描述

右边的表格没有根据关键字更新。

这是我尝试过但失败的方法,我是表过滤的新手。

try {              
    jobTableInit(); 
    String value = keyword.getText();

    TableRowSorter sorter;
    sorter = new TableRowSorter<DefaultTableModel>(new DefaultTableModel());
    RowFilter<DefaultTableModel, Object> rowFilter = null;
    try {
       rowFilter = RowFilter.regexFilter(keyword.getText());
    }
    catch(java.util.regex.PatternSyntaxException ex) {
       return;
    }
    sorter.setRowFilter(rowFilter);
    table_job.setRowSorter(sorter);
 }            
 catch (Exception e) {
    JOptionPane.showMessageDialog(null, e);
 }                                

有人可以提出建议或给我看一个简单的示例代码吗?

4

1 回答 1

2

默认有两种方式

  1. 使用自定义比较器并在XxxTableModel中搜索(或JTables使用查看Pattern),有关比较器的更多信息JTables tutorial请参见排序和过滤

  2. 在 TableRowSorter 中使用 built_in RowFilter,然后过滤JTables view返回所需List_of_Xxx

  3. 另一个想法只是突出比赛

于 2013-01-12T12:52:14.447 回答