private Accessible descendNodes(Accessible parent, int[] path) {
for(int i=0;i<path.length;i++) {
if (null == (parent = descend(parent, path[i]))) return null;
- // if (dtxt!=null) dtxt.println(parent.getClass());
}
return parent;
}
* if the child is not found.
*/
private Accessible descend(Accessible parent, int childNum) {
- if (childNum >= parent.getAccessibleContext().getAccessibleChildrenCount()) return null;
- return parent.getAccessibleContext().getAccessibleChild(childNum);
+ if (parent == null) return null;
+ int children = parent.getAccessibleContext().getAccessibleChildrenCount();
+ if (childNum >= children) {
+ if (dtxt!=null) dtxt.println("DESCEND "+childNum+" > "+children+" NOT FOUND");
+ return null;
+ }
+ Accessible child = parent.getAccessibleContext().getAccessibleChild(childNum);
+ if (dtxt!=null) dtxt.println("DESCEND "+childNum+" "+child.getClass().getName()+" OK");
+ return child;
}
public static void main(String[] args) {