GUI(窗口监听、窗口关闭、窗口激活)


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
//启动类
public class main {

        public static void main(String[] args) {
            new WindowFrame();
        }
    }
  class WindowFrame extends Frame {
        public WindowFrame() {
            //设置颜色
            setBackground(Color.blue);
            //设置位置大小
            setBounds(100, 100, 200, 200);
            setVisible(true);//显示窗口
            //绑定监听事件类
            //addWindowListener(new MywindowListenter());
            //使用匿名内部类,创建一个监听事件类
            this.addWindowListener(new WindowAdapter() {

                //窗口关闭的方法
                public void windowClosing(WindowEvent e) {
                    System.out.println("windowClosing");
                    System.exit(0);
                }

                //窗口激活的方法
                public void windowActivated(WindowEvent e) {
                    WindowFrame source = (WindowFrame) e.getSource();//getSource:获取当前窗口的名称
                    source.setTitle("被激活了");//每次激活窗口,就把标题改为这个

                    System.out.println("windowActivated");//每次点击窗口后会打印
                }

            });
        }

        //使用内部类方法,创建窗口监听类,想要他是窗口监听类,那我们要继承他的监听接口WindowListener,但是继承接口要重写的方法比较多,所以我们只需要继承他的子类就可以了
        class MywindowListenter extends WindowAdapter {
            public void windowClosing(WindowEvent e) {
                setVisible(false);//隐藏窗口,通过按钮隐藏窗口
                System.exit(0);//0:正常退出 1:非正常退出
            }
        }
    }

相关