• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JTreeのノードを走査する
#navi(../)
RIGHT:Posted by [[aterai]] at 2012-01-16
RIGHT:Posted by &author(aterai); at 2012-01-16
*JTreeのノードを走査する [#f9a6390a]
JTreeのノードからEnumerationを取得してサブツリーの走査を行います。

-&jnlp;
-&jar;
-&zip;

//#screenshot
#ref(https://lh5.googleusercontent.com/-m8cdaUCibl0/TxPCZQMYqkI/AAAAAAAABH4/eAK9LyYkv14/s800/TraverseAllNodes.png)

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

**解説 [#h568007c]
上記のサンプルでは、このJTreeの最上位ノードをルートにするサブツリーを、深さ優先、幅優先などで全走査しています。

- [http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/tree/DefaultMutableTreeNode.html#depthFirstEnumeration() DefaultMutableTreeNode#depthFirstEnumeration()]([http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/tree/DefaultMutableTreeNode.html#postorderEnumeration() DefaultMutableTreeNode#postorderEnumeration()]と同じ)
- [http://docs.oracle.com/javase/jp/6/api/javax/swing/tree/DefaultMutableTreeNode.html#depthFirstEnumeration() DefaultMutableTreeNode#depthFirstEnumeration()]
-- [http://docs.oracle.com/javase/jp/6/api/javax/swing/tree/DefaultMutableTreeNode.html#postorderEnumeration() DefaultMutableTreeNode#postorderEnumeration()]と同じ
-- 深さ優先走査(後順走査)
-- blue, violet, red, yellow, colors, basketball, ... , JTree 

- [http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/tree/DefaultMutableTreeNode.html#breadthFirstEnumeration() DefaultMutableTreeNode#breadthFirstEnumeration()]
- [http://docs.oracle.com/javase/jp/6/api/javax/swing/tree/DefaultMutableTreeNode.html#breadthFirstEnumeration() DefaultMutableTreeNode#breadthFirstEnumeration()]
-- 幅優先走査
-- JTree, colors, sports, food, blue, violet, red, ...

- [http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/tree/DefaultMutableTreeNode.html#preorderEnumeration() DefaultMutableTreeNode#preorderEnumeration()]
- [http://docs.oracle.com/javase/jp/6/api/javax/swing/tree/DefaultMutableTreeNode.html#preorderEnumeration() DefaultMutableTreeNode#preorderEnumeration()]
-- 前順走査
-- JTree, colors, blue, violet, red, yellow, sports, basketball, soccer, ...

**参考リンク [#h80dcbd0]
-[[JTreeのノードを検索する>Swing/SearchBox]]

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