java关闭窗口的6种方法

来源:互联网 发布:textrcnn tensorflow 编辑:程序博客网 时间:2024/06/08 09:49
1.使用JFrame的enableEvents和processWindowEvent   //Frame1.java   import java.awt.*;   import java.awt.event.*;   import javax.swing.*;   public class Frame1 extends JFrame {   public Frame1() {   enableEvents(AWTEvent.WINDOW_EVENT_MASK);   this.setSize(new Dimension(400, 300));   this.setTitle("Frame1");   }   protected void processWindowEvent(WindowEvent e) {   super.processWindowEvent(e);   if (e.getID() == WindowEvent.WINDOW_CLOSING) {   System.exit(0);   }   }   }   2.直接实现WindowListener接口   //Frame1.java   import java.awt.*;   import java.awt.event.*;   public class Frame1 extends Frame implements WindowListener {   public Frame1() {   this.setSize(new Dimension(400, 300));   this.setTitle("Frame1");   this.addWindowListener(this);   }   public void windowClosing(WindowEvent windowEvent) {   System.exit(0);   }   public void windowOpened(WindowEvent windowEvent) { }   public void windowClosed(WindowEvent windowEvent) { }   public void windowIconified(WindowEvent windowEvent) { }   public void windowDeiconified(WindowEvent windowEvent) { }   public void windowActivated(WindowEvent windowEvent) { }   public void windowDeactivated(WindowEvent windowEvent) { }   }   3.直接继承窗体适配器WindowAdapter   //Frame1.java   import java.awt.*;   import java.awt.event.*;   public class Frame1 extends WindowAdapter {   public Frame1() {   Frame f=new Frame();   f.setSize(new Dimension(400, 300));   f.setTitle("Frame1");   f.addWindowListener(this);   f.setVisible(true);   }   public static void main(String[] s){   new Frame1();   }   public void windowClosing(WindowEvent windowEvent) {   System.exit(0);   }   }   4.间接继承窗体适配器WindowAdapter   //Frame1.java   import java.awt.*;   import java.awt.event.*;   public class Frame1 extends Frame {   public Frame1() {   this.setSize(new Dimension(400, 300));   this.setTitle("Frame1");   this.addWindowListener(new winAdapter());   this.setVisible(true);   }   public static void main(String[] s){   new Frame1();   }   }   class winAdapter extends WindowAdapter{   public void windowClosing(WindowEvent windowEvent) {   System.exit(0);   }   }   5.间接实现WindowListener接口   //Frame1.java   import java.awt.*;   import java.awt.event.*;   public class Frame1 extends Frame {   public Frame1() {   this.setSize(new Dimension(400, 300));   this.setTitle("Frame1");   this.addWindowListener(new winEventHandle());   this.setVisible(true);   }   public static void main(String[] s){   new Frame1();   }   }   class winEventHandle implements WindowListener {   public void windowClosing(WindowEvent windowEvent) {   System.exit(0);   }   public void windowOpened(WindowEvent windowEvent) { }   public void windowClosed(WindowEvent windowEvent) { }   public void windowIconified(WindowEvent windowEvent) { }   public void windowDeiconified(WindowEvent windowEvent) { }   public void windowActivated(WindowEvent windowEvent) { }   public void windowDeactivated(WindowEvent windowEvent) { }   }   6.使用Inner Class   //Frame1.java   import java.awt.*;   import java.awt.event.*;   public class Frame1{   public Frame1(){   Frame f=new Frame();   f.addWindowListener(new WindowAdapter(){   public void windowClosing(WindowEvent e){   System.exit(0);   }   });   f.setSize(new Dimension(400, 300));   f.setVisible(true);   }   public static void main(String[] s){   new Frame1();   }   }             Jframe的关闭方法:     setDefaultCloseOperation(EXIT_ON_CLOSE);     frame的关闭方法如下:   this.addWindowListener(new java.awt.event.WindowAdapter() {   public void windowClosing(java.awt.event.WindowEvent e) {   System.exit(0);   }   });  

0 0