我有一个5级深度,0,1,2,3,4级的JTree。我对1级的信息,价值或指数感兴趣。只要选择低于1级,是否可以立即获得1级信息?
答案 0 :(得分:0)
如果您的1级节点是静态的,您可以在树类中保留对它们的引用。这将为您提供访问这些节点的直接方法,并且假设您使用了这些节点,您将获得派生类信息。
还有DefaultTreeModel.getChild(...),它可以让你通过根节点下的索引获得一个节点。
如果您尝试将树“升级”到1级节点,则可以在树模型上尝试getPathToRoot。 1级节点(在根目录下)将是结果[1]。
答案 1 :(得分:0)
如果您对所选的1级节点感兴趣,请使用方法
JTree.getSelectionPath()
获取选定的TreePath然后检查返回的TreePath是否至少有2个元素(第一个是根,第二个是选定的1级节点)
TreePath.getPathCount()
如果返回> = 2,则使用
TreePath.getPathComponent(1)
获取所选的1级节点。 (0索引是根)