概述
监听器就是一个实现了特殊接口的Java类,这个Java类用于监听另一个Java类的方法调用和属性的改变,当被监听的对象发生了上述事件后,监听器的某个方法将会立即被执行。
用途:用来监听其他对象的变化的,主要应用在图形化界面开发上。
监听器的术语:
事件源:指的是被监听的对象(汽车)
监听器:指的是监听的对象(报警器)
事件源和监听器的绑定:(在汽车上安装报警器)
事件:指的是事件源对象的改变(汽车被踹了一脚)
监听器入门案例
创建WEB项目
建包和类:
package com.dayu.listener.uilistener;
import javax.swing.JFrame;
import java.awt.event.WindowListener;
/**
* GUI的小窗口演示监听器
*
*/
public class MyFrame extends JFrame {
public static void main(String[] args) {
//创建小的窗口对象(被监听的对象)
MyFrame myFrame = new MyFrame();
//设置窗口的名称
myFrame.setName("小窗口");
//设置窗口的宽和高 参数是 坐标(0,0代表在屏幕的最左上角),宽,高
myFrame.setBounds(0,0,200,180);
//窗口是默认不显示的,所以需要设置窗口显示
myFrame.setVisible(true);
//在事件源上绑定监听器
myFrame.addWindowListener(new MyWindowListener());
}
}
/**
* 监听器对象
*
*/
class MyWindowListener implements WindowListener {
@Override
public void windowClosing(WindowEvent e) {
MyFrame myFrame = (MyFame)e.getSource();
System.out.println(myFrame.getName());
System.out.println("窗口关闭");
System.exit(0);
}
}
监听器的执行过程
创建事件源对象(被监听的对象)—> 创建监听器对象 —> 事件源和监听器的绑定 —> 改变事件源的状态,产生事件对象(WindowEvent e)