Java tutorial
import java.awt.AWTEvent; import java.awt.Toolkit; import java.awt.event.AWTEventListener; import java.awt.event.ActionEvent; import java.awt.event.ComponentEvent; import java.awt.event.WindowEvent; import javax.swing.AbstractAction; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; public class Main implements AWTEventListener { public void eventDispatched(AWTEvent evt) { if (evt.getID() == WindowEvent.WINDOW_OPENED) { ComponentEvent cev = (ComponentEvent) evt; if (cev.getComponent() instanceof JFrame) { System.out.println("event: " + evt); JFrame frame = (JFrame) cev.getComponent(); loadSettings(frame); } } } public static void loadSettings(JFrame frame) { System.out.println("loading"); } public static void saveSettings() { System.out.println("saving"); } public static void main(String[] args) throws Exception { Toolkit tk = Toolkit.getDefaultToolkit(); final Main main = new Main(); tk.addAWTEventListener(main, AWTEvent.WINDOW_EVENT_MASK); final JFrame frame = new JFrame(""); frame.setName("your frame"); JMenuBar mb = new JMenuBar(); JMenu menu = new JMenu("File"); menu.add(new AbstractAction("Quit") { public void actionPerformed(ActionEvent evt) { try { main.saveSettings(); System.exit(0); } catch (Exception ex) { System.out.println(ex); } } }); mb.add(menu); frame.setJMenuBar(mb); frame.pack(); frame.setVisible(true); } }