private static Vector recursiveFindMLJComponents(Container r) {
// java.awt.Container.getComponents() doesn't return null!
Component[] tmp = r.getComponents();
Vector v = new Vector();
for (int i = 0; i < tmp.length; i++) {
if (tmp[i] instanceof JComponent) {
JComponent jcomp = (JComponent)tmp[i];
if (jcomp.getComponentCount() == 0) {
v.add(jcomp);
}
else {
v.addAll(recursiveFindMLJComponents(jcomp));
}
}
else if (tmp[i] instanceof Container) {
v.addAll(recursiveFindMLJComponents((Container)tmp[i]));
}
}
return v;
}
End of Listing