0

, を使用するDefaultTreeModelと最上位defaultmutbletreenodegetRoot()祖先が返されますが、1 世代下に移動して 2 番目に上位の祖先を返すにはどうすればよいでしょうか?

root
 - ancestor 1
  - some parent
   - some child
 - ancestor 2
  - some parent
   - another parent
    - some child

ancestor 1したがって、このブランチで指定された を見つける方法、各ブランチの深さは の下のノードsome childごとに異なります。ancestorroot

ancestor 1fromまでトラバースする必要がsome childあり、さらに深い分岐については、 を指定some childすると、 が見つかりますancestor 2

4

1 に答える 1

0

これを試して:

TreeNode[] nodeArray = tree.getPathToRoot(nodeInQuestion);
TreeNode secondFromRoot;

if ((nodeArray != null) && // I'm not sure this can actually happen.
    (nodeArray.length > 1)) // current node is not the root node.
{
   secondFromRoot = nodeArray[1];
}
else
{
   ... decide what makes sense here.
}
于 2012-03-06T18:51:10.667 に答える