JFrame f = new JFrame();
//disable the close button
f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
//create custom close operation
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
exitProcedure();
}
});
in the exitProcedure method i just use an if else ladder to work out if i need to save or exit etc.