Swing/SortTree のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/SortTree へ行く。
- 1 (2009-05-07 (木) 10:47:07)
- 2 (2010-03-08 (月) 12:21:42)
- 3 (2010-03-08 (月) 13:41:04)
- 4 (2012-10-28 (日) 22:23:20)
- 5 (2013-01-09 (水) 21:08:32)
- 6 (2013-07-02 (火) 15:53:41)
- 7 (2013-07-03 (水) 13:11:51)
- 8 (2013-07-03 (水) 18:16:27)
- 9 (2013-07-04 (木) 20:49:38)
- 10 (2013-07-10 (水) 13:59:51)
- 11 (2013-09-05 (木) 00:41:57)
- 12 (2013-09-05 (木) 17:56:17)
- 13 (2014-03-18 (火) 18:57:40)
- 14 (2014-10-07 (火) 20:28:39)
- 15 (2014-10-08 (水) 00:47:28)
- 16 (2014-11-13 (木) 01:39:43)
- 17 (2014-11-18 (火) 20:14:35)
- 18 (2014-11-18 (火) 21:21:24)
- 19 (2014-11-21 (金) 18:31:49)
- 20 (2014-11-22 (土) 03:48:33)
- 21 (2014-11-25 (火) 03:03:31)
- 22 (2015-02-18 (水) 15:11:40)
- 23 (2015-03-09 (月) 14:46:02)
- 24 (2015-03-16 (月) 17:28:33)
- 25 (2016-11-04 (金) 14:55:38)
- 26 (2017-03-29 (水) 13:55:51)
- 27 (2017-04-07 (金) 13:51:51)
- 28 (2018-02-13 (火) 16:00:29)
- 29 (2018-02-24 (土) 19:51:30)
- 30 (2019-05-22 (水) 19:35:38)
- 31 (2020-01-30 (木) 18:49:11)
- 32 (2021-07-29 (木) 02:58:44)
TITLE:JTreeのソート
Posted by terai at 2009-05-04
JTreeのソート
JTreeをソートします。Swing - How to sort jTree Nodesからの引用です。
- &jnlp;
- &jar;
- &zip;
#screenshot
サンプルコード
//Swing - How to sort jTree Nodes>http://forums.sun.com/thread.jspa?threadID=566391
public static DefaultMutableTreeNode sortTree(DefaultMutableTreeNode root) {
for(int i=0;i<root.getChildCount();i++) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) root.getChildAt(i);
String nt = node.getUserObject().toString();
for(int j=0; j<i; j++) {
DefaultMutableTreeNode prevNode = (DefaultMutableTreeNode) root.getChildAt(j);
String np = prevNode.getUserObject().toString();
if(nt.compareToIgnoreCase(np)<0) {
root.insert(node, j);
root.insert(prevNode, i);
}
}
if(node.getChildCount() > 0) node = sortTree(node);
}
return root;
}
解説
上記のサンプルでは、チェックボックスをクリックするとJTreeを降順でソートするようになっています。 元のソート無しの状態に戻す場合は、DefaultTreeModelを作成し直しています。
参考リンク
- Swing - How to sort jTree Nodes
- #6のHamedさんの投稿