static Rect boundsInParent(Component c) { if (c == null) null; ret swing(func -> Rectangle { Rect r = toRect(c.getBounds()); while true { c = c.getParent(); if (c == null) null; if (isInstance(theClass, c)) ret r; r = translateRect(r, c.getX(), c.getY()); } }); }