窗口关闭方法:事件监听机制
事件监听机制
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 ) ;
}
} ) ;
}
}