![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e1023. Visiting All the Nodes in a JTree Component// Create tree JTree tree = new JTree(); // Add the nodes... // Visit all nodes visitAllNodes(tree); // Visit only expanded nodes visitAllExpandedNodes(tree); // Traverse all nodes in tree public void visitAllNodes(JTree tree) { TreeNode root = (TreeNode)tree.getModel().getRoot(); visitAllNodes(root); } public void visitAllNodes(TreeNode node) { // node is visited exactly once process(node); if (node.getChildCount() >= 0) { for (Enumeration e=node.children(); e.hasMoreElements(); ) { TreeNode n = (TreeNode)e.nextElement(); visitAllNodes(n); } } } // Traverse all expanded nodes in tree public void visitAllExpandedNodes(JTree tree) { TreeNode root = (TreeNode)tree.getModel().getRoot(); visitAllExpandedNodes(tree, new TreePath(root)); } public void visitAllExpandedNodes(JTree tree, TreePath parent) { // Return if node is not expanded if (!tree.isVisible(parent)) { return; } // node is visible and is visited exactly once TreeNode node = (TreeNode)parent.getLastPathComponent(); process(node); // Visit all children if (node.getChildCount() >= 0) { for (Enumeration e=node.children(); e.hasMoreElements(); ) { TreeNode n = (TreeNode)e.nextElement(); TreePath path = parent.pathByAddingChild(n); visitAllExpandedNodes(tree, path); } } }
e1025. Adding a Node to a JTree Component e1026. Removing a Node to a JTree Component e1027. Converting a Node in a JTree Component to a TreePath e1028. Converting All Nodes in a JTree Component to a TreePath Array
© 2002 Addison-Wesley. |