static void onFrameClose(Component c, final Runnable r) { JFrame f = getFrame(c); if (f != null) f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { pcall-messagebox { r.run(); } } }); }