Java 使用JCheckBox列筛选表

Java 使用JCheckBox列筛选表,java,jtable,filtering,Java,Jtable,Filtering,我有一个6列的JTable。第一列是JCheckBox列。我创建了一个搜索框,通过以下代码筛选表: String searchWord = searchTextField.getText(); TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>( myTable.getModel() ); myTable.setRowSorter( sorter ); sorter.setRowFilter

我有一个6列的JTable。第一列是JCheckBox列。我创建了一个搜索框,通过以下代码筛选表:

String searchWord = searchTextField.getText();
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>( myTable.getModel() );
myTable.setRowSorter( sorter );
sorter.setRowFilter( RowFilter.regexFilter( searchWord );
String searchWord=searchTextField.getText();
TableRowSorter-sorter=新的TableRowSorter(myTable.getModel());
myTable.setRowSorter(分拣机);
sorter.setRowFilter(RowFilter.regexFilter(searchWord));
问题是,如果用户搜索“true”、“false”、“t”、“se”…它将返回启用或禁用复选框的行…我猜它将它们的值处理为true/false


那么在筛选表时是否有方法忽略第一列?

您可以告诉regexFilter您要检查哪些列。假设您的表中有五列,第一列是JCheckBox列,那么您可以使用以下命令忽略它:

sorter.setRowFilter( RowFilter.regexFilter( searchWord, 1, 2, 3, 4 ) );
从for
行过滤器中:

regexFilter

publicstaticrowfilter regexFilter(stringregex,int…index)

参数:

regex-要筛选的正则表达式

索引-要检查的值的索引。如果未提供所有 评估值


我正要告诉他同样的事;)(+1)@Thomas:我也打算告诉他同样的事:)。在发送完我的问题后,我查看了API并在检查答案之前找到了它。起初我不明白什么是指数,但当我尝试时,它起了作用。谢谢。