您的位置:首页 > 编程语言 > Java开发

Java应用程序窗口关闭的六种方法...【Pnoter】

2015-02-15 15:51 316 查看

1.使用使用JFrame的enableEvents和processWindowEvent

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接口

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

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

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接口

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

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);
  }
  });
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: