0
フィルタをJTableに適用したいとします。フィルタリング後のjtableモデル
String text = textField.getText();
rowSorter = new TableRowSorter<>(tableModel);
this.getjTable1().setRowSorter(rowSorter);
this.getjTable1().removeAll();
if (text.trim().length() == 0) {
rowSorter.setRowFilter(null);
} else {
//String regex = String.format("^%s$", text);
if(jCheckBoxExtract.isSelected()){
text="^"+text+"$";
}
else{
if(!text.contains(".")||text.contains("$"))text="^"+text;
}
RowFilter rowFilter = RowFilter.regexFilter(text, 1);
rowSorter.setRowFilter(rowFilter);
}
this.getjTable1().repaint();
このコードは機能しますが、今はjtableで値を取得したい場合、モデルは更新されません。 jtableでのモデルの使用は、常に古いモデルですが、フィルタの後の新しいモデルではありません。
よりよいヘルプについては早く、ポスト[MCVE]または[ショート、自己完結、正しい例](のhttp:/ /www.sscce.org/)。テーブルの一部のデータをハードコードします。 –