Java入门之窗口关闭,巨巨巨详细!!!

本文主要介绍了Java编程中创建窗口并实现窗口关闭的两种方法:内部类和匿名内部类(局部类)。通过添加WindowListener,实现窗口关闭时调用windowClosing方法,关闭程序。详细代码示例帮助初学者理解这两种方式的使用。
摘要由CSDN通过智能技术生成

Java入门之窗口关闭

想必看到这篇文章的铁铁们应该是刚刚入门java吧,我呢看CSDN上没有特别详细的窗口关闭教学所以想写一篇,说不定能帮到刚刚入门的你们。
在这里插入图片描述

好了铁铁废话不多说了直接进入正题

import java.awt.*;
import java.awt.event.*;
public class guanbi
{
public static void main(String[] args){
new MyFrame("guanbi");
}
}
class MyFrame extends Frame{
MyFrame(String s){
super(s);
setLayout(null);
setBounds(600,600,200,200);
this.setBackground(new Color(60,200,5));
setVisible(true);
}

这是一个简单的窗口样式;
现在呢有两种方式添加它的窗口关闭代码,一种是内部类另外一种是局部类(也可以叫做匿名内部类);
对了铁铁们在学习java中要用到JDK文档要是
一、内部类:
需要先写监听窗口事件

this.addWindowListener(new MyWindowMonitor());//监听窗口事件,内部类用

不知道的铁铁们可以去JDK文档里面查一下啦(要是还没有的可以私聊我我发给你们)
在这里插入图片描述
之后呢在写一个接收窗口事件的抽象适配器类;

class MyWindowMonitor extends WindowAdapter
{
public void windowClosing(WindowEvent e)//封装窗口关闭类型
{
setVisible(false);
System.exit(0);//显示关闭(0为正常关闭;-1为非正常关闭!)
}
}

这样子一个完整的窗口关闭的内部类就写好了铁铁们;
总的代码如下:

import java.awt.*;
import java.awt.event.*;
public class guanbi//关闭窗口
{
public static void main(String[] args){
new MyFrame("guanbi");
}
}
class MyFrame extends Frame{
MyFrame(String s){
super(s);
setLayout(null);
setBounds(600,600,200,200);
this.setBackground(new Color(60,200,5));
setVisible(true);
this.addWindowListener(new MyWindowMonitor());
class MyWindowMonitor extends WindowAdapter//接收窗口事件的抽象适配器类。
{
public void windowClosing(WindowEvent e)//封装窗口关闭类型
{
setVisible(false);
System.exit(0);//显示关闭
}
}
}

但是!
铁铁们还有一种方法更为简单那就是局部类(匿名内部类),内部类呢代码一般在行数较多使用;(/dog 我这也是想让你们多学点)
在这里插入图片描述
二、局部类(匿名内部类)
这个就很简单了铁铁们,只要写一个方法内的类就好了!

this.addWindowListener
( //注意这是括号铁铁们
		new WindowAdapter()
		{
		public void windowClosing(WindowEvent e)//封装窗口关闭类型
		{
		setVisible(false);//方法 setVisible(boolean)
		//Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类型的对象只包含一个类型为 boolean 的字段。
		System.exit(0);//显示关闭(0为正常关闭;-1为非正常关闭!)
		}
		}
);

铁铁们这段代码呢可以直接Ctrl+C到你们所写的窗口代码中,放到显示窗口后面就好啦!
总的代码如下:

import java.awt.*;
import java.awt.event.*;
public class guanbi//关闭窗口
{
public static void main(String[] args){
new MyFrame("guanbi");
}
}
class MyFrame extends Frame{
MyFrame(String s){
super(s);
setLayout(null);
setBounds(600,600,200,200);
this.setBackground(new Color(60,200,5));
setVisible(true);
this.addWindowListener  //this看情况改变
(
		new WindowAdapter()
		{
		public void windowClosing(WindowEvent e)//封装窗口关闭类型
		{
		setVisible(false);//方法 setVisible(boolean)
						 //Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类型的对象只包含一个类型为 boolean 的字段。
		System.exit(0);//显示关闭
		}
		}
);
}

但是
铁铁们当这个局部类包装了很重要的东西时,还是要老老实实的用内部类吧,否则到时改起来怕是人都要炸了
在这里插入图片描述
————————————————————手动分界—————————————————————
结语
以上呢就是本次java窗口关闭的具体内容了啦;
铁铁们要仔细看完再复制哈!
在这里插入图片描述

**最后呢,也是最重要的就是!铁铁们看了半天要是有什么不懂的可以私信我,然后呢看了这么长时间也就点个关注呗,铁铁们(/dog 生活不易)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java缝合怪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值