Exemplo n.º 1
0
 private void refreshTree(TreeNode node) {
   int childCount = node.getChildCount();
   for (int i = 0; i < childCount; i++) {
     if (!node.isChildLeaf(i) && node.isChildOpen(i)) {
       node.setChildOpen(i, false);
       TreeNode child = node.setChildOpen(i, true);
       if (child != null) {
         refreshTree(child);
       }
     }
   }
 }
Exemplo n.º 2
0
 private boolean openNode(TreeNode node, TreePlace place) {
   int childCount = node.getChildCount();
   for (int i = 0; i < childCount; i++) {
     if (node.getChildValue(i).equals(place)) {
       // node.setChildOpen(i, true, true);
       return true;
     } else if (!node.isChildLeaf(i)) {
       boolean wasOpen = node.isChildOpen(i);
       TreeNode child = node.setChildOpen(i, true);
       if (child != null && openNode(child, place)) {
         return true;
       } else if (!wasOpen) {
         node.setChildOpen(i, false);
       }
     }
   }
   return false;
 }