如果我有一个String[]
,例如{ "root", "two", "1" }
,如何从我的DefaultMutableTreeNode
获取此“路径”所代表的JTree
?
例如,如果我的JTree看起来像这样:
root
one
1
2
two
1 <-- I want this node
2
假设所有节点都是DefaultMutableTreeNode
s。
答案 0 :(得分:5)
首先,您需要使用getModel()
方法获取树模型。拥有模型后,它具有getRoot()
方法,以获取树的根。之后,您可以跟随对getChild(Object parent, int index)
的调用,并检查是否有任何子项与String数组中提供的名称相同。如果你找到这样的,你可以再次调用getChild(Object parent, int index)
等...直到你到达阵列中的最后一个String。然后你有相应的树节点。您需要实际将树节点强制转换为DefaultMutableTreeNode,因为TreeModel使用Object作为树元素(对于1.7之前的Java)。