- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章-图形用户界面解析
事件模型目标 事件控制的要点 AWT 事件结构 基本事件控制 使用多个监听器 匿名类 * 事件控制的要点 Java 最新的事件处理方法是基于授权事件模型 事件源生成事件并将其发送至一个或多个监听器 监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回。 * 事件 * 在授权事件模型中,事件是一个描述事件源状态改变的对象 。 通过鼠标、键盘与 GUI 界面直接或间接交互都会生成事件。 如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一下鼠标等。 * 事件源 事件源是一个生成事件的对象 一个事件源可能会生成不同类型的事件 事件源提供了一组方法,用于为事件注册一个或多个监听器。 每种事件的类型都有其自己的注册方法。一般形式为: public void addEventTypeListener (TypeListener e) * AWT采取的事件控制过程 监听器对象属于一个类的实例,这个类实现了一个特殊的接口,名为“监听者接口” 事件源是一个对象,它可以注册一个或多个监听器对象,并向其发送事件对象。 事件源将在发生事件时向所有注册的监听器发送事件对象。 监听器对象使用事件对象中的信息来确定它们对事件的响应。 按钮单击事件示例 public class MyEventTest extends Panel { Button myButton = new Button(蓝色); . . . // 创建面板或其他 GUI 组件 MyListener myAction = new MyListener(); MyButton.addActionListener(myAction); ?private class MyListener implements ActionListener { public MyListener() { . . . // 初始化 } public void actionPerformed(ActionEvent event) { . . .//需要为事件进行的操作 } } } * 实现了ActionListener接口的监听器 实现了actionPerformed方法,以便根据参数 ActionEvent 对象的信息对事件做出响应 为按钮事件 注册监听器 事件体系结构 * FocusEvent AWTEvent ActionEvent AdjustmentEvent ComponentEvent TextEvent ItemEvent ContainerEvent InputEvent WindowEvent PaintEvent KeyEvent MouseEvent EventObject AWT 事件类型 2-1 * 事件类 说明 事件源 ActionEvent 通常按下按钮,双击列表项或选中一个菜单项时,就会生成此事件。 Button、List、MenuItem、TextField AdjustmentEvent 操纵滚动条时会生成此事件。 Scrollbar ComponentEvent 当一个组件移动、隐藏、调整大小或成为可见时会生成此事件。 Component ItemEvent 单击复选框或列表项时,或者当一个选择框或一个可选菜单的项被选择或取消时生成此事件。 Checkbox、CheckboxMenuItem、Choice、List FocusEvent 组件获得或失去键盘焦点时会生成此事件。 Component AWT 事件类型 2-2 * 事件类 说明 事件源 KeyEvent 接收到键盘输入时会生成此事件。 Component MouseEvent 拖动、移动、单击、按下或释放鼠标或在鼠标进入或退出一个组件时,会生成此事件。 Component ContainerEvent 将组件添加至容器或从中删除时会生成此事件。 Container TextEvent 在文本区或文本域的文本改变时会生成此事件 。 TextField、TextArea WindowEvent 当一个窗口激活、关闭、失效、恢复、最小化、打开或退出时会生成此事件。 Window 监听器接口 * 监听器通过实现 java.awt.event 包中定义的一个或多个接口来创建。 在发生事件时,事件源将调用监听器定义的相应方法。 有兴趣接收事件的任何监听器类都必须实现监听器接口。 监听器接口列表 2-1 * 事件监听器 方法 ActionListener actionPerformed AdjustmentList
文档评论(0)