监听器中GUI的理解

2023-12-15 14:51:49


前言

比如登录拦截:用户登录后,会被拦截掉。就可以用监听器来处理。

一、Panel窗口关闭Demo

先创建一个窗口,发现点击关闭后,关闭不掉,就要添加监听事件:
在这里插入图片描述

public class TestPanel1 {
    public static void main(String[] args) {
        Frame frame = new Frame("中秋节快乐");//新建一个窗口
        Panel panel = new Panel(null);//新建一个面板
        frame.setLayout(null);//设置窗体的布局
        frame.setBounds(300, 300, 500, 500);
        frame.setBackground(new Color(0, 0, 255));

        panel.setBounds(50, 50, 300, 300);
        panel.setBackground(new Color(0, 255, 0));

        frame.add(panel);
        frame.setVisible(true);
//        监听事件,监听关闭事件:方式一:
        /*
frame.addWindowListener(new WindowListener() {
    @Override
    public void windowOpened(WindowEvent e) {
        System.out.println("打开");
    }

    @Override
    public void windowClosing(WindowEvent e) {
        System.out.println("关闭ing");
        System.exit(0);
    }

    @Override
    public void windowClosed(WindowEvent e) {
        System.out.println("关闭ed");

    }

    @Override
    public void windowIconified(WindowEvent e) {

    }

    @Override
    public void windowDeiconified(WindowEvent e) {

    }

    @Override
    public void windowActivated(WindowEvent e) {
        System.out.println("激活");
    }

    @Override
    public void windowDeactivated(WindowEvent e) {
        System.out.println("未激活");
    }
});


         */
         //方式二:使用适配器模式,
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.out.println("关闭窗口");
                System.exit(0);
            }
        });
    }
}

总结

Exit(0)和exit(1)的区别:一个是正常终止,一个是非正常。
适配器模式,抽象类继承了接口,可以选择重写其中的方法,不用实现全部的方法。

文章来源:https://blog.csdn.net/weixin_51646336/article/details/135013581
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。