重载DefaultMutableTreeNode的构造器,如:
class myTreeNode extends DefaultMutableTreeNode {
String username="";//这里的username就是你从数据库得到的用户名
public myTreeNode(String username,Object userObject,boolean allowsChildren) {
super(userObject,allowsChildren);
this.username=username;
}public myTreeNode(String username,Object userObject) {
super(userObject);
this.username=username;
}public void setUsername(String username) {//通过这个函数来设置username
this.username=username;
}public String getUsername() {//通过函数这个来取得叶子的用户名
return this.username;
}
}

解决方案 »

  1.   

    呵呵beyond_xiruo()的方法很高,不过在这里可以不用这个方法。
    你可以直接在TreeSelectionListener里边得到当前选定的节点node, 然后
    String username = node.toString();
    就可以了。
      

  2.   

    因为这里的节点的名字跟节点代表的用户名对象的string代表是一致的
      

  3.   

    楼上应该明白,通常我们缺省设置的userObject是显示在叶子上的文字,而这个显示的文字不一定会跟username一致,因此将username用重载的方法是比较通用和理想的
      

  4.   

    beyond_xiruo()说的对。对于动态生成的树,如果要使用toString()方法,大多数情况下是需要重载的。