windowsEvents

今天我们要实现这个关闭窗口的功能,就是点窗口的那个叉叉它会关闭。

设计窗口的事件就是WindowsEvents,而与之有关的监听器就是WindowsListener

WindowsListener也是个接口,它有7个方法,分别处理windows的不同的事件。  比如windowActivated()window被激活,就是两个窗口,一个是颜色变灰,一个仍是蓝色,然后你用鼠标点那个灰的窗口它变成蓝色这叫激活窗口。  windowClosed()  已经关后做出的反应  windowClosing()正在关闭,这是我们要处理的事件。  windowIconified()卡片化,也是最小化的意思。

 

看例子代码(内部类的写法):

import java.awt.*;
import java.awt.event.*;

public class TestWindowClose {
    public static void main(String[] args) {
        new MyFrame55("fuck");
    }
}

class MyFrame55 extends Frame {

    public MyFrame55(String s) {
        super(s);
        setBounds(300,300,400,400);
        setLayout(null);
        setBackground(new Color(204,204,255));
        setVisible(true);
        addWindowListener(new MyWindowMonitor());
    }

    
    class MyWindowMonitor extends WindowAdapter {  //内部类,因为这个是window关闭的这个事件监听类对于其他类一点关系都没有
        public void windowClosing(WindowEvent e) {   //重写正在关闭这个事件
            setVisible(false);  
            System.exit(0);//存0是正常退出,存-1是非正常退出。
        }
    }

}

 哎其实这个类和其他的方法有关系吗?除了和这个addWindowListener()所以,除了这个写法,我们还有这样的一种写法,这种写法叫做方法内的类:局部类,也叫匿名的内部类

    this.addWindowListener(
    new WindowAdapter() {//像一个类的类体,但它没有名字
      public void windowClosing(WindowEvent e) {
        setVisible(false);
        System.exit(-1);
      }
    });

这个类是当成WindowAdapter来用。所以语法这样写本质上的意义就是这个类从WindowAdapter继承,我们new了这个类的一个对象出来把它当作WindowAdapter来用。

匿名类一般是 逻辑简单,语句少,不经常变动,使用匿名类

就知道有这个东西,看得懂别人写的就行了。

转载于:https://www.cnblogs.com/wangshen31/p/6942011.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值