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

Java关闭窗体的六种方法

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