【问题标题】:How to store path to a node in JTree?如何在 JTree 中存储节点的路径?
【发布时间】:2012-04-08 15:47:30
【问题描述】:

我正在做一个项目,我想创建一系列结构和名称类似于我创建的 JTree 的文件夹。

简化:

如果 A 是根节点,B 和 C 是它的子节点,则在后端,在位置“C:\Users\Sami\Desktop”创建名为“A”的文件夹,然后创建 B 和 C在“C:\Users\Sami\Desktop\A”

我猜如果我遍历每个节点并获得它们各自的 TreePath,它会让事情变得更容易。

我还有其他选择吗?如果不是,我如何以及在哪里存储特定节点的路径?

请帮忙。

【问题讨论】:

    标签: java swing jtree


    【解决方案1】:

    以下代码是一个 SSCCE(简短的自包含正确示例)。它遍历树中的所有节点并将路径作为字符串获取。从那里您可以将字符串解析为您的目的。

    import java.util.Enumeration;
    import javax.swing.JTree;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.TreePath;
    
    public class StoreTreePathExample {
        public static void main(String[] args){     
        JTree tree = new JTree();
        Enumeration en = ((DefaultMutableTreeNode)tree.getModel().getRoot()).preorderEnumeration();
          while(en.hasMoreElements()){
          TreePath path = new TreePath( ((DefaultMutableTreeNode)en.nextElement()).getPath() );
          String text = path.toString();
          System.out.println(text);
          }
        }
    }
    

    【讨论】:

    • 吹毛求疵:那不是SSCCE,请查一下self contains是什么意思
    猜你喜欢
    • 2012-07-15
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 2013-06-11
    • 2011-04-15
    • 1970-01-01
    相关资源
    最近更新 更多