JTreeのノードを走査する
Total: 7171, Today: 1, Yesterday: 1
Posted by aterai at
Last-modified:
Summary
JTreeのノードからEnumerationを取得してサブツリーの走査を行います。
Screenshot

Advertisement
Source Code Examples
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");
}
View in GitHub: Java, KotlinDescription
上記のサンプルでは、この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, ...
DefaultMutableTreeNode#children()やDefaultMutableTreeNode#xxxxxEnumeration()などの戻り値はJava 8から9で以下のように変更されるJava 8:EnumerationJava 9:Enumeration<TreeNode>Java 11:Enumeration<? extends TreeNode>