搜索JTable的结果列表

时间:2013-01-12 12:32:44

标签: java swing jtable

阅读here并且不理解这个概念,我不得不在这里发布我的问题。我正在尝试从关键字JTextField获取输入值并过滤我的JTable table_jobenter image description here

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

这是职务清单屏幕

enter image description here

右边的表格不会根据关键字进行更新。

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

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);
 }                                

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

1 个答案:

答案 0 :(得分:2)

默认情况下有两种方式

  1. 使用自定义Comparator并使用JTablesXxxTableModel(或Pattern视图)中进行搜索,有关比较器的更多信息,请参阅JTables tutorial关于Sorting and Filtering

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

  3. another idea is only to hightlighting matches