---
title: JTableがデフォルトでソートする列を設定する
tags: [JTable, RowSorter]
author: aterai
pubdate: 2011-06-06T18:40:01+09:00
description: JTableがデフォルトでソートする列とその方向を設定します。
---
* 概要 [#t18d1eb2]
`JTable`がデフォルトでソートする列とその方向を設定します。

#download(https://lh5.googleusercontent.com/-qvzRq_TxwSg/Texuvm22ELI/AAAAAAAAA84/DhfjZ3TEATk/s800/DefaultSortingColumn.png)

* サンプルコード [#a2768444]
#code(link){{
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)));
}}

* 解説 [#h11e48c2]
上記のサンプルでは、`RowSorter#setSortKeys(...)`を使って、指定の列のソート順序(ここでは、`0`列目を`SortOrder.DESCENDING`で降順)のリストを設定しています。

----
- `RowSorter#setSortKeys(null)`で、ソート無し状態になる
-- [[TableRowSorterのSortKeysをクリアする>Swing/ClearSortingState]]

----
`table.getRowSorter().toggleSortOrder(index)`を一回で昇順、二回で降順に設定する方法もあります。

* 参考リンク [#p9343c5c]
- [[TableRowSorterのSortKeysをクリアする>Swing/ClearSortingState]]

* コメント [#c094ddb6]
#comment
#comment