static A onBoundsChange(A c, fO r) { if (c != null && r != null) swing { c.addComponentListener(new ComponentAdapter { public void componentResized(ComponentEvent e) { pcallF(r); } public void componentMoved(ComponentEvent e) { pcallF(r); } }); } ret c; } static A onBoundsChange(O r, A c) { ret onBoundsChange(c, r); }