黑马程序员技术交流社区
标题:
GUI事件处理机制
[打印本页]
作者:
淡忘初学者
时间:
2015-8-18 17:24
标题:
GUI事件处理机制
本帖最后由 淡忘初学者 于 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);
}
});
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2