如何递归遍历TreePath的所有节点

时间:2015-03-06 23:39:26

标签: java defaulttreemodel defaultmutabletreenode

我正在尝试创建一个遍历路径的所有节点的方法。它将用于JTree,节点将是文件和文件夹。所以它也必须通过文件夹。

这是我的代码:

主要设置:

DefaultMutableTreeNode root = new DefaultMutableTreeNode();
final DefaultTreeModel treeModel = new DefaultTreeModel(root);

搜索方法:

public void search(TreePath path){

    Object o = path.getLastPathComponent();
    DefaultMutableTreeNode node = (DefaultMutableTreeNode) o;
    o = node.getUserObject();

    if(!node.isLeaf() && node.getChildCount() >= 0){
        Enumeration e = node.children();
        while (e.hasMoreElements()) {
            search(path.pathByAddingChild(e.nextElement()));
        }
    }
    else{
       node = node.getNextNode();
    }
}

所以在我的方法中,我绑定指定节点是否是一个文件夹,然后通过它并遵循相同的过程。否则获取下一个节点,依此类推。 但它不起作用。

有什么想法吗?

0 个答案:

没有答案