int java.awt.event.WindowEvent.WINDOW_OPENED : Event Queue « Event « Java






int java.awt.event.WindowEvent.WINDOW_OPENED

  

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);
  }

}

   
    
  








Related examples in the same category

1.Use the Event queue to retrieve eventUse the Event queue to retrieve event
2.Event object has information about an event, that has happened.
3.Register several listeners for one event.
4.ActionEvent.getActionCommand()
5.Adding an InputMap to a Component
6.Event source and listener
7.Multiple sources: A listener can be plugged into several sources.
8.Using an inner ActionListener class.
9.void java.awt.Toolkit.addAWTEventListener(AWTEventListener listener, long eventMask)
10.JComponent.WHEN_IN_FOCUSED_WINDOW
11.Register action
12.Using EventQueue.invokeLater to start a Swing application