Java核心技术(事件处理)
来源:互联网 发布:培训班程序员工资 编辑:程序博客网 时间:2024/06/06 18:06
事件处理基础
任何支持GUI的操作环境都要不断地监视敲击键盘或点击鼠标这样的事件。操作环境将这些事件报告给正在运行的应用程序。如果有事件
产生,每个应用程序将决定如何对他们做出响应。在AWT所知的事件范围内,完全可以控制事件从事件源到事件监听器的传递过程,并将任何
对象指派给事件监听器。事件源有一些向其注册事件监听器的方法。当某个事件源产生事件时,事件源会向为事件注册的所有事件监听器对象
发送一个通告。在Java中,所有的事件对象都最终派生于java.util.EventObject类。不同的事件源可以产生不同类别的事件。
AWT事件处理机制概要:
*监听器对象是一个实现了特定监听器接口的类的实例。
*事件源是一个能够注册监听器对象并发送事件对象的对象。
*当事件发生时,事件源将事件对象传递给所有注册的监听器。
*监听器对象将利用事件对象中的信息决定如何对事件作出响应。
动作
Action接口可以封装命令,并将它们连接到多个事件源。AbstractAction类实现了除了actionPerformed方法外的所有方法。为了将
动作与击键关联起来,首先需要生成KeyStroke类对象。KeyStroke类对象封装了对键的说明,通过调用getKeyStroke方法来构造
KeyStroke。
每个JComponent由三个输入映射,每一个映射的KeyStroke对象都与动作关联:
*WHEN_FOCUSED:当这个组件用友键盘焦点时
*WHEN_ANCESTOR_OF_FOCUSED_COMPONENT:当这个组件包含了拥有键盘焦点的组件时
*WHEN_IN_FOCUSED_WINDOW:当这个组件被包含在一个拥有键盘焦点组件的窗口中时
InputMap不能直接地将KeyStroke对象映射到Action对象,而是先映射到任意对象上,然后由ActionMap类实现将对象映射到动作上
的第二个映射。
鼠标事件
当用户点击鼠标按钮时,将会调用三个监听器方法:鼠标第一次被按下时调用mousePressed;鼠标被释放时调用mouseReleased;
最后调用mouseClicked。getModifiersEx方法能准确地报告鼠标事件的鼠标按钮和键盘修饰符。
下面代码实现了Swing程序的不同外观,同时支持键盘事件响应(1234Esc)
- Java核心技术(事件处理)
- java核心技术 事件处理
- 事件处理(Java核心技术卷Ⅰ)
- java核心技术笔记 事件处理
- java核心技术卷 之事件处理基础
- 事件处理基础 处理按钮点击事件实例 Java核心技术
- Java核心技术:卷1笔记[6] 事件处理
- java核心技术卷 之处理按钮点击事件
- #Java 核心技术卷一阅读笔记# 第十一章 事件处理
- Java核心技术-异常处理
- Java处理敲击键盘事件 Etch-A-Sketch玩具实现 光标画笔画图程序 Java核心技术
- Java核心技术之注解处理
- Java简单图形编辑器 放置、移动和擦除方块 鼠标事件测试程序 Java核心技术 事件处理
- Java 按钮和单击事件映射到动作对象改变面板颜色小程序实例 Java核心技术 事件处理
- java事件处理机制(自定义事件)
- java事件处理机制(自定义事件)
- java事件处理机制(自定义事件)
- java事件处理机制(自定义事件)
- 删除当前目录下所有的.o 文件。
- 使用指针作为函数参数的注意事项
- The daily use of sql2008
- Android多媒体学习十二:Android中Video的三种播放方式的实现
- QTP链接到PostgreSQL数据库
- Java核心技术(事件处理)
- 浅谈Hibernate的flush机制
- 未将对象引用设置到对象的实例
- IRQ Interrupt Request
- Java操纵oracle的CLOB和BLOB字段
- android 获取sim卡运营商信息
- SurfaceFlinger启动过程分析(一)、(二)、(三)、(四)【转】
- tomcat错误严重: StandardServer.await: create[8005]: java.net.BindException: Address already in use: JVM_
- 交通模拟系统 (看到网上的题目自己用简单的方法实现了一下)