Таблица фильтрации с колонкой JCheckBox - PullRequest
2 голосов
/ 24 марта 2011

У меня есть 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», «t», «se», ... он возвращаетстроки, имеющие включенные или отключенные флажки ... Я предполагаю, что они имеют значение true / false.

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

1 Ответ

1 голос
/ 24 марта 2011

Вы можете указать 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)

Параметры:

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

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

...