static A onFirstComponentShow(final A component, final Runnable onShow) { swing { component.addAncestorListener(new AncestorListener { public void ancestorAdded(AncestorEvent event) { component.removeAncestorListener(this); pcallF(onShow); } public void ancestorRemoved(AncestorEvent event) {} public void ancestorMoved(AncestorEvent event) {} }); } ret component; }