java 24

我们创建了窗体后,就要对窗体进行操作,比如关闭窗口。而这时候就要建立监听机制:

事件监听机制:
  A:事件源 事件发生的地方
  B:事件 就是要发生的事情
  C:事件处理 就是针对发生的事情做出的处理方案
  D:事件监听 就是把事件源和事件关联起来

举例:人受伤事件。

事件源:人(具体的对象)
  Person p1 = new Person("张三");
  Person p2 = new Person("李四");
事件:受伤
  interface 受伤接口 {
      一拳();
      一脚();
      一板砖();
  }
事件处理:
  受伤处理类 implements 受伤接口 {
    一拳(){ System.out.println("鼻子流血了,送到卫生间洗洗"); }
    一脚(){ System.out.println("晕倒了,送到通风处"); }
    一板砖(){ System.out.println("头破血流,送到医院"); }
}
事件监听:
  p1.注册监听(受伤接口)

 1 public class FrameDemo1 {
 2     public static void main(String[] args) {
 3         
 4         //创建窗口
 5         Frame f = new Frame("监听机制");
 6         //设置属性
 7         f.setBounds(300, 300, 300, 400);
 8         // 让窗体关闭  
 9         //用于接收窗口事件的侦听器接口  WindowListene
10         //事件源:窗体
11         //事件:对窗体的处理
12         //事件处理:关闭窗口(System.exit(0));
13         //事件监听
14         
15         //添加侦听器接口
16         f.addWindowListener(new WindowListener() {
17             
18             public void windowOpened(WindowEvent e) {
19                 // TODO Auto-generated method stub
20                 
21             }
22             
23             public void windowIconified(WindowEvent e) {
24                 // TODO Auto-generated method stub
25                 
26             }
27             
28             public void windowDeiconified(WindowEvent e) {
29                 // TODO Auto-generated method stub
30                 
31             }
32             
33             public void windowDeactivated(WindowEvent e) {
34                 // TODO Auto-generated method stub
35                 
36             }
37             //只监听关闭方法
38             public void windowClosing(WindowEvent e) {
39                 //关闭窗口
40                 System.exit(0);
41                 
42             }
43             
44             public void windowClosed(WindowEvent e) {
45                 // TODO Auto-generated method stub
46                 
47             }
48             
49             public void windowActivated(WindowEvent e) {
50                 // TODO Auto-generated method stub
51                 
52             }
53         });
54         
55         
56         //显示窗口
57         f.setVisible(true);
58     }
59 
60 }

上面那种方法,只需要使用一种方法,但却调出了接口的所有构造方法,这样太浪费
  用适配器改进 接收窗口事件的抽象适配器类。WindowAdapter
步骤:

  创建侦听器,匿名内部类写适配器类,重写适配器类的构造方法

代码:

1 //创建侦听器,匿名内部类写适配器类,重写适配器类的构造方法
2 f.addWindowListener(new WindowAdapter() {
3 public void windowClosing(WindowEvent e) {
4 //super.windowClosing(e);
5 //重写方法
6 System.exit(0);
7 }
8 });
何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
原文地址:https://www.cnblogs.com/LZL-student/p/5956310.html