在jtree生成的树中有个节点为“我的好友”我在程序中怎么获取到这个这个节点,然后把其他用户统统加到“我的好友”节点下面哦?

解决方案 »

  1.   

    说白了就是怎样根据节点名称,获得这个节点对象(jtreeDefaultMutableTreeNode )的实例句柄哦?
      

  2.   

    没办法,节点没有名称这个属性,只能遍历了,先获取根节点,然后用DefaultMutableTreeNode.breadthFirstEnumeration()获取广度枚举,遍历并判断其中的哪个的getUserObject().toString().equals("我的好友"),然后在上面加节点好了。我说了,最简单的方法就是把需要添加子节点的节点预先保存起来,到时候直接拿出来用,就不用这么麻烦,反正你做个QQ也不过就两三层,叶节点(好友)多的是,枝节点(我的好友、黑名单之类)就没几个,全部当JFrame或者JPanel的属性不就好了。要不,楼主自己用一个Map保存,每实例化一个DefaultMutableTreeNode就放进Map里面,想取的时候随便取就行了,这样可以保存所有的节点引用,最灵活了,你不可能让JTree给你完全保存数据结构,必要时还是得自己想办法。