1 / 35
文档名称:

08-2 图形用户界面设计概述(二).ppt

格式:ppt   页数:35
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

08-2 图形用户界面设计概述(二).ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

08-2 图形用户界面设计概述(二).ppt

文档介绍

文档介绍:Java的事件处理模型
Java的事件处理模型概述
常见事件的处理举例
事件监听器的挂接和适配器
GUI类和事件监听类的关系
1
Java的事件处理模型概述
在Java 程序的运行过程中,当用户通过程序的用户界面进行某个操作时,便引发一个相应的事件(Event)。
Java 中的事件,是一个数据对象,用来描述用户所执行的操作。
Java定义了很多事件类,分别用于描述不同的用户行为。
面向对象的AWT事件处理模型—委托模型:将事件委托给在控件上注册的“事件接收器”接口或“事件适配器”类进行处理。
2
一、 AWT事件处理的基本概念和流程

即用户在各种场合进行的各项操作,如敲击键盘或用鼠标点击某个组件等。

对于不同的事件源,Java虚拟机会产生相应类型的事件对象。
Java自动识别各种不同的事件对象的类型并进行分类处理。
(监听)器接口。
各种类型的事件均有对应的事件处理器接口。
该接口封装了与其对应类型事件的各种处理方法,
并建立了事件到相应处理方法的自动映射。
3

基于授权事件模型:
当事件来源对象S因用户的操作(鼠标或键盘)
系统会自动触发此事件类对象E,并通知所授权的事件监听者L(需事先调用来源对象的addXxxListener方法向L注册),
事件监听者L中有处理各种事件的方法(事件处理者1~n)便会处理此事件E的各种状况。
S
E
L
4
事件处理方法
实现事件监听器接口法:
1)首先给组件注册监听器,使用下列方法:
addxxxListener(事件监听器对象);
2)确定了事件监听器的类型后,必须在程序中定义类来实现这些接口,重写接口中的所有方法。
1)addKeyListener(new CharType());
2)public class CharType implements KeyListener{
public void keyPressed(KeyEvent e){……} //大括号中为处理事件的代码
public void keyReleased(KeyEvent e){} //未用到此方法,所以方法体为空
public void keyTyped(KeyEvent e){}
}
5
常见事件的处理举例
窗口事件的处理
一、行为事件的处理
二、焦点事件的处理
三、项目事件的处理
四、键盘事件的处理
五、鼠标事件的处理
六、文本事件的处理
6
窗口事件的处理
产生条件:
当一个窗口被激活、撤消激活、打开、关闭、图标化或撤消图标化时
窗口事件的表示:
1)从WindowEvent类创建的对象表示窗口事件
监听类:
窗口监听器
WindowListener
2)表示:由实现了WindowListener接口的对象来表示窗口监听器。
3)必须实现的方法: WindowListener接口指定了7种必须实现的方法,分别对应窗口的7种不同事件种类。
4)注册一个窗口事件源,需要调用组件的addWindowListener方法。
7
窗口事件的处理
windowOpened
当窗口打开时
windowClosing
单击窗口右上角关闭按钮尝试关闭窗口时
windowIconified
单击窗口的最小化图标,窗口最小化时执行方法
windowDeiconified
单击窗口的还原按钮,窗口还原时执行
windowActivated
当窗口在一系列窗口之前,成为当前窗口时执行,当打开窗口、还原窗口或点击某个窗口到前台都会调用该方法。
windowDeactivated
当某个窗口从前台移走时,例如图标化、关闭窗口或另外一个窗口被激活等,
windowClosed
当窗口关闭之后,如单击关闭按钮或执行了窗口的dispose方法后执行
8
例程8-13
2) 由实现了WindowListener接口的Frame子类对象表示窗口监听器
1)从WindowEvent类创
建的对象表示窗口事件
3) 7种必须实现的方法
4)注册一个窗口事件源
两个小错误
9
windowClosed方法的代码是否被调用的诀窍
注意,,将不会调用windowClosed方法,如果不在乎windowClosed方法中的代码,可以这样做。
如果想要windowClosed方法被调用,则需要在windowClosing方法中执行窗口的dispose方法,