文章目录
- 前言
- 一、Panel窗口关闭Demo
- 总结
前言
比如登录拦截:用户登录后,会被拦截掉。就可以用监听器来处理。
一、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() {@Overridepublic void windowOpened(WindowEvent e) {System.out.println("打开");}@Overridepublic void windowClosing(WindowEvent e) {System.out.println("关闭ing");System.exit(0);}@Overridepublic void windowClosed(WindowEvent e) {System.out.println("关闭ed");}@Overridepublic void windowIconified(WindowEvent e) {}@Overridepublic void windowDeiconified(WindowEvent e) {}@Overridepublic void windowActivated(WindowEvent e) {System.out.println("激活");}@Overridepublic void windowDeactivated(WindowEvent e) {System.out.println("未激活");}
});*///方式二:使用适配器模式,frame.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {System.out.println("关闭窗口");System.exit(0);}});}
}
总结
Exit(0)和exit(1)的区别:一个是正常终止,一个是非正常。
适配器模式,抽象类继承了接口,可以选择重写其中的方法,不用实现全部的方法。