我在数据库中的表mytable中有一个字段ID
记录如下:
ID         
-------
01
02
03
0101
0102
0201
0301
0302
0303
010101
010102
030101我想用jtree把这些记录显示出来,显示的结果是这样的,
---------------------------------------------------
 -01
   |
   -0101
       | 
       -010101
       |
       -010102
   -0102
 -02
   |
   -0201
 -03
   |
   -0301
       |
       -030101
   -0302
   -0303
------------------------------------------------------
小弟对jtree不是很熟悉,我做了好几天,一点进展也没有,
希望得到大家的帮忙,
谢谢各位!
 

解决方案 »

  1.   

    先按长度排序,构造第一层节点
    然后再遍历第二层元素,分别add到具体的第一层接点下面
    后面就一样了
      

  2.   

    jFresH_MaN(TM) ,麻烦你稍微给出一点代码,可以吗,谢谢!
    怎么按长度排序,什么意思?
      

  3.   

    01是两个长度的
    0101是四个长度的
    上面那个肯定是离根节点近,那么我们就先把所有长度短的先构造一层节点至于排序很简单的
    Arrays.sort();就行了
      

  4.   

    谢谢
    我懂你的意思了,谢谢
    小弟马上尝试一下。我还有一点疑惑就是:
    做出来的有可能是:
    root
        +01
        +02
        +03
    ------------------
    我希望的是:
    +01
    +02
    +03
    这种形式的。请问应该怎么解决呢?
      

  5.   

    根节点只有一个,哈哈
    这是xml的基本原则啊,jtree也不会例外啊
      

  6.   

    我知道
    我是想能不能把它去掉
    我最初用hashtable做参数时就能实现,
    但是我现在不想用hashtable去做,用的是DefaultMutableTreeNode直接实现的
    就不能出现:
    +01
    +02
    +03
    这种形式请问有没有解决办法
      

  7.   

    下面是我以前做的一个关于这样的小例子:import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import java.util.*;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2002</p>
     * <p>Company: </p>
     * @author 刘壮
     * @date 2002年3月03日
     * @version 1.0
     */
    public class Xtree extends JFrame{ JTree tree;
    String[][] sd={{"Boy"},{"jim","robert","hair"},{"Girl"},{"lucy","kate","mary"},{"Man"},{"Mr King","Mr Green"}}; public Xtree(){
    super("Hashtable Tree");
    setSize(400,300);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
    public void init(){
    Hashtable h=new Hashtable();
    for(int i=0;i<sd.length;i+=2){
    h.put(sd[i][0],sd[i+1]);
    System.out.println(sd[i][0]);
    System.out.println(sd[i+1]);
    }
    tree=new JTree(h);
    getContentPane().add(tree,BorderLayout.CENTER);
    }
    public static void main(String[] args)  {
    Xtree xt=new Xtree();
    xt.init();
    xt.setVisible(true);
    }
    }
    这个就可以