本帖最后由 淡忘初学者 于 2015-8-25 08:58 编辑
以下内容基于张孝祥老师视频课程笔记: 事件处理机制专门用于响应用户的操作,比如响应用户点击鼠标、按下键盘等操作,及对此操作多采取的处理方式。GUI中事件处理机制又称作事件监听机制,由事件源、事件、监听器及事件处理所构成。其中:
事件源:就是awt包或者swing包中那些图形界面组件;
事件(Event):由外部动作引发,每一个事件源都有自己特有的对应事件和共性事件;
监听器(Listener):将可以触发某一事件的动作(不止一个动作)都已经封装到了监听器中。
以上三者在java中都已经定义好了,只需获取其对象来用就可以了。我们要做的事情是,对产生的动作进行处理。
我们如果要实现事件监听,要么实现事件的Listener接口或者继承其适配器类实现一个事件监听类,并对处理监听动作的方法进行重写;要么调用add...Listener方法,使用适配器内部类为事件源注册监听器对象,再对处理监听动作的方法进行重写。例如实现Frame窗体关闭事件,两者示例如下:
一、窗体对象使用addWindowListener()方法调用MyWindowListener对象即可构成监听机制:
- class MyWindowListener extends WindowAdapter{
- public void windowClosing(WindowEvent e){
- Window w=(Window)e.getComponent();
- w.dispose();
- }
- }
- MyWindowListener mwl=new MyWindowListener();
- f.addWindowListener(mwl);
复制代码
二、窗体对象直接添加适配器内部类对象:
- f.addWindowListener(new WindowAdapter(){
- public void windowClosing(WindowEvent e){
- System.exit(0);
- }
- });
复制代码
|
|