Таблица фильтрации со столбцом JCheckBox


У меня есть JTable с 6 столбцами. Первый столбец-это столбец JCheckBox. Я создал окно поиска, чтобы отфильтровать таблицу с помощью этого кода:

String searchWord = searchTextField.getText();
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>( myTable.getModel() );
myTable.setRowSorter( sorter );
sorter.setRowFilter( RowFilter.regexFilter( searchWord );

Проблема, если пользователь искал "истинное", "ложное", "Т", "ГП", ... он возвращает строки с включенными или отключенными флажками ... Я предполагаю, что он имеет дело с их значением как true / false.

Итак, есть ли способ игнорировать первый столбец при фильтрации таблицы ?

1 2

1 ответ:

Вы можете указать regexFilter, какие столбцы вы хотите проверить. Допустим, у вас есть пять столбцов в таблице, и первый из них-это столбец JCheckBox, тогда вы можете игнорировать его, используя:

sorter.setRowFilter( RowFilter.regexFilter( searchWord, 1, 2, 3, 4 ) );

Из документов для RowFilter:

RegexFilter

public static <M,I> RowFilter<M,I> regexFilter(String regex, int... indices)

Параметры:

Регулярное выражение-регулярное выражение для фильтрации по

Индексы-индексы значений для проверки. Если не поставлено все ценности есть оценено