窗口监听

窗口监听

以下代码给Frame界面增加了关闭窗口的功能:

package com.cxf.gui;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Demo4 {
    public static void main(String[] args) {

        Frame frame = new Frame();
        frame.setBounds(400, 400, 400, 400);
        frame.setVisible(true);
        frame.setBackground(Color.cyan);

        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing (WindowEvent e){
                System.exit(0);
            }
        });
        
    }
}

输出结果:

窗口监听

用鼠标单击右上角叉号可以关闭窗口。

这种效果并不是Frame界面自带的,需要我们添加窗口监听,具体代码在第15-19行。

实际上第15-19行有4行,却只是一句话,句尾分号在第19行。

第15行调用方法addWindowListener,参数为继承了WindowAdapter的子类对象,这个对象的描述足足跨越了4行。

第16-17行重写WindowAdapter的方法windowClosing,原本windowClosing的方法体为空,现在添加system.exit,即退出。

再回顾一遍,第15行方法的参数是WindowAdapter的子类对象,它没有名字,WindowAdapter()后面中括号里面的内容对WindowAdapter进行方法重写,于是WindowAdapter(){方法重写}这个整体就成为WindowAdapter的子对象,要使用的时候在前面加上new就造出了这个子对象。

窗口监听

上一篇:软件行为模型中的设计模式


下一篇:ROS中spin()和spinOnce()区别与详解