【问题标题】:How to get a specific JTree node given a string array如何在给定字符串数组的情况下获取特定的 JTree 节点
【发布时间】:2012-09-30 01:04:37
【问题描述】:
如果我有一个String[],例如{ "root", "two", "1" },我怎样才能从我的JTree 获得这个“路径”表示的DefaultMutableTreeNode?
例如,如果我的 JTree 看起来像这样:
root
one
1
2
two
1 <-- I want this node
2
假设所有节点都是DefaultMutableTreeNodes。
【问题讨论】:
标签:
java
arrays
string
swing
jtree
【解决方案1】:
首先,您需要使用getModel() 方法获取树模型。一旦你有了模型,它就有getRoot() 方法来获取树的根。之后,您可以调用getChild(Object parent, int index) 并检查是否有任何孩子与字符串数组中提供的名称相同。如果你找到这样的,你可以再次调用getChild(Object parent, int index),等等......直到你到达数组中的最后一个字符串。然后你就有了相应的树节点。您需要将树节点实际转换为 DefaultMutableTreeNode,因为 TreeModel 使用 Object 作为树元素(对于 1.7 之前的 Java)。