Swing/TraverseAllNodes のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/TraverseAllNodes へ行く。
- 1 (2012-01-17 (火) 13:52:52)
- 2 (2012-12-13 (木) 15:49:47)
- 3 (2014-12-09 (火) 21:08:36)
- 4 (2016-03-02 (水) 13:39:54)
- 5 (2017-04-07 (金) 13:48:21)
- 6 (2018-03-22 (木) 14:11:56)
- 7 (2018-03-30 (金) 16:28:21)
- 8 (2018-03-30 (金) 19:17:21)
- 9 (2020-03-22 (日) 01:47:43)
- 10 (2021-09-30 (木) 09:44:20)
- 11 (2022-08-20 (土) 22:15:25)
TITLE:JTreeのノードを走査する
Posted by aterai at 2012-01-16
JTreeのノードを走査する
JTreeのノードからEnumerationを取得してサブツリーの走査を行います。
- &jnlp;
- &jar;
- &zip;
サンプルコード
TreeModel model = tree.getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode)model.getRoot();
Enumeration e = root.breadthFirstEnumeration();
while(e.hasMoreElements()) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode)e.nextElement();
textArea.append(node.toString()+"\n");
}
解説
上記のサンプルでは、このJTreeの最上位ノードをルートにするサブツリーを、深さ優先、幅優先などで全走査しています。
- DefaultMutableTreeNode#depthFirstEnumeration()(DefaultMutableTreeNode#postorderEnumeration()と同じ)
- 深さ優先走査(後順走査)
- blue, violet, red, yellow, colors, basketball, ... , JTree
- DefaultMutableTreeNode#breadthFirstEnumeration()
- 幅優先走査
- JTree, colors, sports, food, blue, violet, red, ...
- DefaultMutableTreeNode#preorderEnumeration()
- 前順走査
- JTree, colors, blue, violet, red, yellow, sports, basketball, soccer, ...