ユーザーエントリに基づいてフィルタリングしたい Jtable があります。私はこのコードを書いています:
data_table = new JTable(model); // create data table
data_table.setModel(new DefaultTableModel(pin, colNames)); // fill jtable
model = new DefaultTableModel(pin, colNames); // create a table model
final TableRowSorter<TableModel> sorter;
sorter = new TableRowSorter<TableModel>(model);
data_table.setRowSorter(sorter);
クリックすると、次のコードがあります。
String text = filter_txtf.getText(); // i get the user entry from a text field
if (text.length() == 0) {
sorter.setRowFilter(null);
//data_table.setRowSorter(sorter);
} else {
try {
sorter.setRowFilter(
RowFilter.regexFilter(text));
//data_table.setRowSorter(sorter);
} catch (PatternSyntaxException pse) {
System.err.println("Bad regex pattern");
}
}
問題は、クリックしても何も起こらないことです。プログラムをデバッグすると、「アクション実行」が正常に呼び出されます。コードの何が問題になっていますか?