JComponent (Container container) { Container parent = container; if (parent == null) return null; FocusTraversalPolicy policy = parent.getFocusTraversalPolicy(); while (policy == null) { parent = parent.getParent(); if (parent == null) return null; policy = parent.getFocusTraversalPolicy(); } Component component = policy.getFirstComponent(container); return component instanceof JComponent ? (JComponent)component : null; }