如何在给定字符串数组的情况下获取特定的JTree节点

时间:2012-10-09 16:29:54

标签: java arrays string swing jtree

如果我有一个String[],例如{ "root", "two", "1" },如何从我的DefaultMutableTreeNode获取此“路径”所代表的JTree

例如,如果我的JTree看起来像这样:

root
 one
  1
  2
 two
  1   <-- I want this node
  2

假设所有节点都是DefaultMutableTreeNode s。

1 个答案:

答案 0 :(得分:5)

首先,您需要使用getModel()方法获取树模型。拥有模型后,它具有getRoot()方法,以获取树的根。之后,您可以跟随对getChild(Object parent, int index)的调用,并检查是否有任何子项与String数组中提供的名称相同。如果你找到这样的,你可以再次调用getChild(Object parent, int index)等...直到你到达阵列中的最后一个String。然后你有相应的树节点。您需要实际将树节点强制转换为DefaultMutableTreeNode,因为TreeModel使用Object作为树元素(对于1.7之前的Java)。