我有一个5级深的JTree,0,1,2,3,4级。我对级别1的信息、值或索引感兴趣。当选择低于1级时,是否可以立即获得1级信息?
发布于 2009-09-02 11:28:41
如果您对选定的level 1节点感兴趣,请使用方法
JTree.getSelectionPath() 要获取选定的TreePath,请使用以下命令检查返回的TreePath是否至少有2个元素(第一个是根,第二个是选定的1级节点)
TreePath.getPathCount()
If the return>= 2 then use
TreePath.getPathComponent(1)
to get the selected level 1 node. (0 index is the root)发布于 2009-09-02 02:05:52
如果你的1级节点是静态的,你可以在你的树类中保留对它们的引用。这将为您提供访问这些节点的直接方法,并且假设您已经使用过派生类信息,那么您将拥有可用的派生类信息。
还有一个DefaultTreeModel.getChild(...),它允许您根据根节点下的索引来获取节点。
如果您试图在树中“向上”移动到1级节点,您可以在树模型上尝试getPathToRoot。级别1节点(恰好在根目录下)将是result[1]。
https://stackoverflow.com/questions/1365530
复制相似问题