Swing/DefaultSortingColumn のバックアップの現在との差分(No.8)
- category: swing folder: DefaultSortingColumn title: JTableがデフォルトでソートする列を設定する tags: [JTable, RowSorter] author: aterai pubdate: 2011-06-06T18:40:01+09:00 description: JTableがデフォルトでソートする列とその方向を設定します。 image:
概要
JTable
がデフォルトでソートする列とその方向を設定します。
Screenshot
Advertisement
サンプルコード
JTable table = new JTable(model);
table.setAutoCreateRowSorter(true);
int index = 0;
#spandel
//table.getRowSorter().toggleSortOrder(index); //SortOrder.ASCENDING
#spanend
#spandel
table.getRowSorter().setSortKeys(
#spanend
Arrays.asList(new RowSorter.SortKey(index, SortOrder.DESCENDING)));
#spanadd
// table.getRowSorter().toggleSortOrder(index); // SortOrder.ASCENDING
#spanend
#spanadd
RowSorter.SortKey key = new RowSorter.SortKey(index, SortOrder.DESCENDING);
#spanend
#spanadd
table.getRowSorter().setSortKeys(Collections.singletonList(key));
#spanend
View in GitHub: Java, Kotlin解説
上記のサンプルでは、マウスでヘッダをクリックすることなく、起動後の初期状態でJTable
のソートを実行する列を指定しています。
RowSorter#setSortKeys(...)
を使用するので、列のソート順序(昇順か降順、ここでは、0
列目をSortOrder.DESCENDING
で降順)も指定することができます。
-
RowSorter#setSortKeys(...)
を使用するので列のソート順序が指定可能- 例:
0
列目をSortOrder.DESCENDING
(降順)でソートなど
- 例:
table.getRowSorter().toggleSortOrder(index)
を1
回で昇順、2
回で降順に設定する方法もある-
RowSorter#setSortKeys(null)
で、ソート無し状態になる -
RowSorter#setSortKeys(null)
でソート無し状態になる