Java by API/java.awt.event/AWTEventListener

Материал из Java эксперт
Перейти к: навигация, поиск

implements AWTEventListener

   <source lang="java">
 

import java.awt.AWTEvent; import java.awt.Toolkit; import java.awt.event.AWTEventListener; import java.awt.event.ActionEvent; import java.awt.event.ruponentEvent; 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);
 }

}


 </source>