1
       2     3     4
      5 6
      
一棵树,要求遍历打印出
1-2-5
1-2-6
1-3
1-4
也就是每一条完整的路径都要打印

解决方案 »

  1.   

    import java.util.Enumeration;import javax.swing.JTree;
    import javax.swing.tree.TreeNode;
    import javax.swing.tree.TreePath;public class T
    {
    public static void main(String[] args)
    {
    JTree tree = new JTree();
    printTreePaths(tree.getPathForRow(0));
    }

    public static void printTreePaths(TreePath path) {
    TreeNode node = (TreeNode) path.getLastPathComponent();
    if (node.isLeaf()) {
    Object[] nodes = path.getPath();
    for (int i = 0; i < nodes.length; i++) {
    System.out.print(nodes[i]);
    if (i < nodes.length-1) {
    System.out.print('-');
    }
    }
    System.out.println();
    }
    else {
    Enumeration childrenEnum = node.children();
    while (childrenEnum.hasMoreElements()) {
    TreeNode child = (TreeNode) childrenEnum.nextElement();
    TreePath newPath = new TreePath(path.getPath());
    newPath = newPath.pathByAddingChild(child);

    printTreePaths(newPath);
    }
    }
    }
    }
      

  2.   

    不太明白,这个JTree怎么打印了颜色名称
    我自己的数据怎么打印啊