当前位置: 首页 > 图文教程 > Java技术 > Java基础 > Java关闭窗体的六种方法

Java基础
Struts+Hibernate数据表示
JSP+MYSQL+Java类优化分页
利用JBuilder 2005 开发Spring
Java程序与C语言的接口
10分钟Hibernate体验
Tomcat配置技巧Top 10
JDBC+Hibernate将Blob数据写入Oracle
Java使用全屏幕模式
Java基础:小编浅谈C#与java的属性区别
Java基础:小编浅谈C#和Java的相似之处
Java基础:小编浅谈C#与java的事件区别
Java基础:小编浅谈C#与java的对象索引机制、指代的区别
Java基础:小编谈Java中获取系统属性
Java基础:浅谈Java Bean与EJB的那些区别
Java基础:Java中对文件读写操作概述
Java基础:Java中安全问题
Java基础:浅谈面向对象应用中的持续性
Java中多线程的实现
多线程使用中的问题
MIME详解

Java基础 中的 Java关闭窗体的六种方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 83 ::
收藏到网摘: n/a

 

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);
}
});