java关闭窗口的6种方法
java关闭窗口的6种方法
最新推荐文章于 2021-03-02 01:33:29 发布
转载
最新推荐文章于 2021-03-02 01:33:29 发布
·
1.9w 阅读
·
1
·
32
java
专栏收录该内容
23 篇文章
订阅专栏
本文总结了多种Java窗体关闭的方法,包括使用JFrame的enableEvents和processWindowEvent、直接实现WindowListener接口、直接继承窗体适配器WindowAdapter等,并提供了具体的代码示例。
摘要生成于
C知道
,由 DeepSeek-R1 满血版支持,
前往体验 >
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);
}
});
随便看看
- 2025-05-27 15:26:04血流麻将和血战到底的区别
- 2025-06-13 04:45:16python常用random随机函数汇总,用法详解及函数之间的区别--一图了解python随机函数
- 2025-06-17 07:27:03护臀膏什么时候用
- 2025-07-18 12:03:52我喜欢看男生的JJ怎么办?
- 2025-06-07 09:41:41方瑜扮演者李钰:33岁因病去世,身穿婚纱下葬,至今11年了
- 2025-05-29 18:09:06诿字《康熙字典》原文释义,诿字康熙笔画
- 2025-05-03 02:44:19Steam好玩的内存小的游戏推荐,让你的电脑轻松畅玩!
- 2025-06-13 15:11:59原来如此!汉字的总数量是多少?常用字比例?90%的人猜不出来
- 2025-05-06 20:14:13斯蒂芬·库里是几号球衣 库里职业生涯介绍
- 2025-05-09 23:36:56百场过称战斗所得经验:分享15-20过称心得