窗口关闭方法:事件监听机制
事件监听机制
A:事件源:事件发生的地方
B:事件:就是要发生的事情
C:事件处理:就是针对发生的事情做出的处理方案
D:事件监听:就是把事件源和事件关联起来
举例:人受伤事件
事件源:人(具体对象)
Person p1 = new Person("张珊");
Person p1 = new Person("李四");
事件:受伤
受伤的种类很多所以受伤要定成接口
interface 受伤接口{
一拳();
一脚();
一板砖();
}
事件处理:
受伤处理类 implements 受伤接口{
一拳(){System.out.println("鼻子流血啦,送到卫生间洗洗")}
一脚(){System.out.println("晕倒了,送到通风处")}
一板砖(){System.out.println("头破血流,送到太平间")}
}
事件监听;
p1.注册监听(受伤接口)
窗体关闭案例
package cn.itcast_04;
import java.awt.Frame;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class 窗体关闭案例 {
public static void main(String[] args) {
Frame f = new Frame("窗体关闭案例");
f.setBounds(400, 200, 400, 300);
f.setVisible(true);
f.addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
@Override
public void windowDeactivated(WindowEvent e) {
}
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
@Override
public void windowClosed(WindowEvent e) {
}
@Override
public void windowActivated(WindowEvent e) {
}
});
}
}
用适配器改进窗体关闭案例
package cn.itcast_04;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class 用适配器改进窗体关闭案例 {
public static void main(String[] args) {
Frame f = new Frame("窗体关闭案例");
f.setBounds(400, 200, 400, 300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}