4

に対してを作成しTableRowSorterJTableテーブルを正しく並べ替えることができました。しかし、並べ替える前にテーブルを元の状態に戻す方法はありますか? テーブルのヘッダーをクリックしてみましたが、テーブルが昇順または降順でソートされるだけで、ソート前の状態には戻らないようです。テーブルの並べ替えを解除して、元の状態に戻すことはできますか? ありがとう!

4

4 に答える 4

5

sortKeysのリストは、ビューがソートされていないことを示します。元の行の順序を復元するには、次のことを試してください。

table.getRowSorter().setSortKeys(null);

詳細については、RowSorter仕様を参照してください。

于 2012-05-16T23:18:02.297 に答える
2

唯一の方法は、元の状態にしがみつき、「unsort」イベントを発生させたときに復元することです。

そのため、元の行の順序をリストまたは配列で維持して、復元できるようにする必要があります。元の の複製への参照を保持することもできますDefaultTableModel

于 2012-05-16T23:10:54.903 に答える
1

table.setRowSorter(new TableRowSorter<>(table.getModel()));

ソートキーを空にしてもうまくいかない場合、これはうまくいくはずです。

于 2014-05-13T21:08:21.907 に答える