概要

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

サンプルコード

JTable table = new JTable(model);
table.setAutoCreateRowSorter(true);
int index = 0;
//table.getRowSorter().toggleSortOrder(index); //SortOrder.ASCENDING
table.getRowSorter().setSortKeys(
    Arrays.asList(new RowSorter.SortKey(index, SortOrder.DESCENDING)));
view all

解説

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

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

参考リンク

コメント