概要

JTableのモデルが更新された時にソートを行うように設定し、値の変更、行の追加などでの状態変化をテストします。

サンプルコード

RowSorter<? extends TableModel> rs = table.getRowSorter();
if (rs instanceof DefaultRowSorter) {
  ((DefaultRowSorter<?, ?>) rs).setSortsOnUpdates(true);
}
View in GitHub: Java, Kotlin

解説

  • セルエディタで値を編集、変更
    • SortsOnUpdates(false)の場合ソート状態に変化なし(デフォルト)
    • SortsOnUpdates(true)の場合CellEditorが値をコミットした(DefaultRowSorter#rowsUpdated(...)メソッドが呼び出された)後にソートが実行される
  • モデルに行を追加、削除
    • SortsOnUpdatesの値には依存せず常にソートが実行される

参考リンク

コメント