急问!JTree里如何取得节点的深度?? 对于某个选定TreeNode,如何得到它是处在第几层? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int level = tree.getSelectionPath().getPathCount(); 谢谢楼上的,可能我说的不清数,我想要的是任意一个TreeNode,不一定是选定了的那个,改如何获得? 那总得有一个获得的依据,不然你怎么知道你要得到的是这个节点的深度,而不是那个节点的深度?如果说你想通过节点上显示出来的名称来得到该节点的深度的话你可以jTree.setSelectionPath(jTree.getNextMatch(name,0,null));来设置一条路径,然后,int level = tree.getSelectionPath().getPathCount();就可以进一步得到该节点的深度了! 一般你选中一个Node的时候,会触发TreeSelectionEvent,这个事件有两个方法TreePath newLeadSelectionPath()TreePath oldLeadSelectionPath()可以分别获得一个TreePath对象以对应原来的Node和现在选中的Node。TreePath tp;Object[] o = tp.getPath();o.length就是层。另外,创建一个JTree的子类,并重载方法public void fireValueChanged(TreeSelectionEvent tse) { TreePath tp = tse.getNewLeadSelectionPath(); Object o = tp.getLastPathComponent();}当选择Node时,这个方法会被调用,从中可以得到TreePath。 同意diyucity(都督) 观点,学习 刚做了一个小作品,欢迎大家访问,并提意见建议http://community.csdn.net/Expert/topic/4683/4683929.xml?temp=.0502283 迷宫问题,急、急、急。。。 绘制图像的小问题 字符串处理 java程序连接SQlServer的问题 apache mina2 如何发送和接受 字节数组 byte[] 超高分求解SWING+MSSQL银行自动结息思路 JAVA FTP客户端 怎么老是连不上服务器 哪位高手可以帮我 关于servlet,请帮忙!! 增强版 选择排序 虚拟键码和键盘掩码有什么区别? 咨询一下搜索引擎具体实现?
如果说你想通过节点上显示出来的名称来得到该节点的深度的话
你可以
jTree.setSelectionPath(jTree.getNextMatch(name,0,null));
来设置一条路径,
然后,
int level = tree.getSelectionPath().getPathCount();
就可以进一步得到该节点的深度了!
TreePath newLeadSelectionPath()
TreePath oldLeadSelectionPath()
可以分别获得一个TreePath对象以对应原来的Node和现在选中的Node。TreePath tp;
Object[] o = tp.getPath();
o.length就是层。另外,创建一个JTree的子类,并重载方法
public void fireValueChanged(TreeSelectionEvent tse) {
TreePath tp = tse.getNewLeadSelectionPath();
Object o = tp.getLastPathComponent();
}
当选择Node时,这个方法会被调用,从中可以得到TreePath。
http://community.csdn.net/Expert/topic/4683/4683929.xml?temp=.0502283