void (final JComponent rootContainerDelegee) { final int[] minX = new int[]{Integer.MAX_VALUE}; final int[] minY = new int[]{Integer.MAX_VALUE}; final Ref<RadComponent> componentToBeSelected = new Ref<>(); FormEditingUtil.iterate( myEditor.getRootContainer(), new FormEditingUtil.ComponentVisitor<RadComponent>() { @Override public boolean visit(final RadComponent component) { if (component instanceof RadAtomicComponent) { final JComponent _delegee = component.getDelegee(); final Point p = SwingUtilities.convertPoint( _delegee, new Point(0, 0), rootContainerDelegee ); if(minX[0] > p.x || minY[0] > p.y){ minX[0] = p.x; minY[0] = p.y; componentToBeSelected.set(component); } } return true; } } ); if(!componentToBeSelected.isNull()){ FormEditingUtil.selectComponent(myEditor, componentToBeSelected.get()); } }