关闭

Java应用程序窗口关闭的六种方法

159人阅读 评论(0) 收藏 举报

本文介绍Java应用程序窗口关闭的六种方法。

  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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1900次
    • 积分:53
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:2篇
    • 译文:0篇
    • 评论:1条
    文章分类