概要

JTableがデフォルトでソートする列とその方向を設定します。

サンプルコード

JTable table = new JTable(model);
table.setAutoCreateRowSorter(true);
int index = 0;
// table.getRowSorter().toggleSortOrder(index); // SortOrder.ASCENDING
RowSorter.SortKey key = new RowSorter.SortKey(index, SortOrder.DESCENDING);
table.getRowSorter().setSortKeys(Collections.singletonList(key));
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、マウスでヘッダをクリックすることなく、起動後の初期状態でJTableのソートを実行する列を指定しています。

  • RowSorter#setSortKeys(...)を使用するので列のソート順序が指定可能
    • 例: 0列目をSortOrder.DESCENDING(降順)でソートなど
  • table.getRowSorter().toggleSortOrder(index)1回で昇順、2回で降順に設定する方法もある
  • RowSorter#setSortKeys(null)でソート無し状態になる

参考リンク

コメント