5

多くの文字列を含む JTable があります。テーブルの上にユーザー入力用のテキストボックスを作成しました。ユーザーがテキスト ボックスに入力した文字列を含む行を削除できる行フィルターが必要です。このために私を助けてください。

4

4 に答える 4

10

ここから:
並べ替えとフィルタリング

次のコード例では、ソーター オブジェクトを明示的に作成して、後でそれを使用してフィルターを指定できるようにします。

MyTableModel model = new MyTableModel();
sorter = new TableRowSorter<MyTableModel>(model);
table = new JTable(model);
table.setRowSorter(sorter);

次に、テキスト フィールドの現在の値に基づいてフィルター処理します。

private void newFilter() {
    RowFilter<MyTableModel, Object> rf = null;
    //If current expression doesn't parse, don't update.
    try {
        rf = RowFilter.regexFilter(filterText.getText(),0);
    } catch (java.util.regex.PatternSyntaxException e) {
        return;
    }
    sorter.setRowFilter(rf);
}
于 2009-07-10T06:05:58.173 に答える
2

JTable.setAutoCreateRowSorterのデフォルトの行ソーター/フィルターを使用するものを使用できますJTable

于 2009-07-10T06:25:44.203 に答える
1

kd304 からコメントを取得するには、 GlazedLists を使用できます。そこで、JTable の入力として FilterList を使用し、残りは FilterList が処理します。

于 2009-07-10T11:54:45.457 に答える