java笔记 窗口事件 和 适配器

一.窗口事件

之前有过例子
setDefaultCloseOperation(EXIT_ON_CLOSE); // 点击x关闭窗口
这个函数的参数还有
DO_NOTHING_ON_CLOSE 什么也不做
HIDE_ON_CLOSE 隐藏当前窗口
DISPOSE_ON_CLOSE 隐藏当前窗口并释放窗口资源
EXIT_ON_CLOSE 结束窗口所在的应用程序

但这四种不能满足需求
如果在关闭的时候需要保存就不能用这个了


接口WindoListener
方法
windowActivated( WindowEvent e) 窗口从非激活状态到激活状态
windowDeactivated( WindowEvent e) 窗口从激活状态到非激活状态
windowClosing( WindowEvent e) 窗口被关闭时
windowClosed( WindowEvent e) 窗口被关闭后
windowIconified( WindowEvent e) 窗口图标化
windowDeiconified( WindowEvent e) 窗口撤销图标化
windowOped( WindowEvent e) 当窗口打开时

点击右上角图标化,调用windowIconified方法后,还将调用windowDeactivated
撤销图标化时,调用windoDeiconified,还会调用windowActivated
点击关闭按钮时,先调用windowClosing,这个方法的执行必须保证窗口调用dispose()(就是关闭窗口命令方法,才能继续调用windowClosed

注:如果调用windowClosing方法时,使用System.exit(0),监视器没有机会调用windowClosed方法

二.适配器

适配器和接口一样
只是不需要实现接口里面所有的方法

注:适配器是继承关系,不是实现关系,剩下的都一样

//Inner class 事件处理例一
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class MyFrame extends JFrame
{
   Boy police;

   MyFrame(String s)
   {
       super(s);
       police = new Boy();
       setBounds(100, 100, 200, 300);
       setVisible(true);

       // 注册窗口适配器,和监听器用一个函数
       addWindowListener(police);

       validate(); 
   }

   private class Boy extends WindowAdapter  // 注意这里的是继承关系, 不是实现关系
   {
        public void windowClosing(WindowEvent e)
        {
            System.exit(0); //关闭方法
   }
}

//主类
public class test
{
    public static void main(String args[])
    {
        MyFrame win = new MyFrame("窗口");
    }
}

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值