转载来源:http://blog.csdn.net/snailjava/article/details/1373041
AWT事件处理机制学习
参考资料:<<Java2核心技术 卷I:基础知识(第6版)>>
AWT事件处理机制?(分清事件源,监听器,时间对象三者之间关系)
新旧事件模型的两个主要区别?
AWT事件类的继承关系图?(关于事件对象的问题)
如何记住java.awt.event包中的14个监听器接口?(关于监听器接口的问题)
AWT的语义事件和低层事件?(关于事件对象的问题)
KeyPressed,KeyTyped,KeyReleased三者之间的关系?
如何计算鼠标的点击数目?
|
AWT事件处理机制?
eventSourceObject.addEventListener(eventListenerObject)
作为总结,下面给出AWT中事件处理机制的概览:
一个监听器对象是一个实现了专门的监听器的类的实例.
一个事件源是一个能够注册监听器对象并向它们发送事件对象的对象.
监听器对象随后会使用事件对象中的信息来决定对事件的反应.
PS:事件对象(可以想象成事件源向监听器对象发送的一个”包”)封装了事件源同其监听器通信的事件信息。必要时,可以分析传递给监听器对象的事件对象。(举个例子,可以同过getSource 和getActionCommand来获取事件源的信息)
新旧事件模型的两个主要区别?
PS:新模型是什么?旧模型是什么?新模型就是[AWT事件处理机制?]这个问题的答案。旧模型找本旧点将java的书上应该有。
AWT事件类的继承关系图?
如何记住java.awt.event包中的14个监听器接口?
下面是java.awt.event包中的14个监听器接口.
ActionListener MouseListener
AdjustmentListener MouseMotionListener
ComponentListener MouserWheelListener
ContainerListnener TextListener
FocusListener WindowListener
ItenListener WindowFocusListener
KeyListener WindowStateListener
PS:这么多的接口,如果没有相关经验的话不可能全部记住(全部记住了也没有用)。
记这些接口的第一个方法是:找出那些接口不需要记忆的,看下面这段话就知道了。
对于Java程序员来说,有些AWT事件类并不实用,例如AWT把PaintEvent的对象插入事件队列中,但这些对象并没有传递给监听器.为了控制重绘,Java程序员应该覆盖paintComponent方法.下面列举了实际会被传递到监听器的AWT事件类型.’
ActionEvent ItemEvent
AdjustmentEvent KeyEvent
ComponentEvent MouseEvent
ContainerEvent MouseWheelEvent
FocusEvent TextEvent
WindowEvent
PS:用了第一个方法过滤后还剩下11个接口,该如何记住呢?
第二个方法就是通用法则方法:知道从哪里可以找到这11个接口的定义(官方API里)。该用到那个的时候就去找哪个。
这样一个接口都不用记了。。。。。只要掌握基本原则就行:
“一个想接受某一事件的类必须实现一个监听器接口.这个类要在事件源中注册自己.然后,它接受所要的事件对象.并通过监听器接口中的方法做出相应的处理.“
AWT监听器接口中有七个接口具有不止一个方法.这些接口都有一个对应的适配器类用于空实现该接口中的全部方法.(其余的四个接口只有一个方法,因此无需适配器类).例如,WindowAdapter类有七个空方法.
下面是这些适配器类的列表:
ComponentAdapter MouseAdapter
ContainerAdapter MouserMotionAdapter
FocusAdapter WindowAdapter
KeyAdapter
PS:上面7个适配器类只是让你可以稍微偷懒点。不想偷懒的话上面7个适配器可以不用去管了。
AWT的语义事件和低层事件?
语义事件是用于表达用户动作的事件。
低层事件是这些成为可能的事件。
java.awt.event包中有四个语义事件类:
ActionEvent(对应按钮点击,菜单选择,选择列表项或者在这个文本域中输入ENTER)
AdjustmentEvent(用户调整一个滚动条)
ItemEvent(用户从一组选择框或者列表框中选择一个)
TextEvent(文本域或者文本框内容发生改变).
有六个低层事件类:
ComponentEvent(组件被缩放,移动,显示或者隐藏,它是所有低层事件类的基类)
KeyEvent(一个键按下或者释放)
MouseEvent(鼠标键被按下,释放,鼠标移动或者拖动)
MouseWheelEvent(鼠标轮被滚动)
FocusEvent(组件得到焦点或者失去焦点)
WindowEvent(窗口被激活,减活,图标化,还原或者关闭,窗口状态改变)
ContainerEvent(添加或者删除一个组件)
|
PS:语义事件就是能达成用户一个目的的事件。
比如:象KeyEvent(一个键按下或者释放),这个键按下是干什么用的?
释放是干什么用的?无法表达出这个事件的目的性,所以KeyEvent不是语义事件。
KeyPressed,KeyTyped,KeyReleased三者之间的关系?
如何计算鼠标的点击数目?
分享到:
相关推荐
什么是AWT 用AWT构建GUI 事件处理 AWT组件类库
java关于事件的处理 awt及awt事件处理
模拟JDK AWT的事件处理机制模拟JDK AWT的事件处理机制
本PPT主要围绕如何让利用容器、组件以及模具管理构建用户界面和实现用户在GUI上操作的响应两个关键问题,介绍基于AWT构建GUI的方法、AWT事件处理模型以及AWT常用组件及其使用方法。
事件控制的要点 AWT 事件结构 基本事件控制 使用多个监听器 匿名类
java的事件处java的事件处理理 java的事件处理 java的事件处理
AWT及AWT事件处理-Java程序设计.ppt
Java-AWT事件处理.ppt
Java教程之AWT事件模型
AWT事件处理模型[定义].pdf
JAVA AWT事件模型教学实例.很好的,大家一起共享吧
GUI和AWT事件模型介绍和怎么用即应该注意的地方
JAVA编程基础:第七章 AWT 事件模型 总结:类,方法,接口,其中总结了如何获得事件源,实现接口方法,是对awt的一些组件的总结
基于命令模式的Java AWT事件处理的改进设计与实现.pdf
java语言学习,awt事件模型,课件ppt,希望能对大家的学习有所帮助。
如果你认真学习每个ppt并自己敲完这些实例,你的java基础已经很优秀了!这些资料就是某些大学和培训机构一个学期或更长时间学习的! 为的是共同学习,共同进步! 注:本资料不承担任何法律责任!
AWT组件及事件处理.PPTAWT组件及事件处理.PPT
NULL 博文链接:https://wamp.iteye.com/blog/790098
【完整课程列表】 Java编程实训 Java开发基础入门教程1-01 Java开发环境(共17页).ppt Java编程实训 Java开发基础入门教程1-02 Java编程基础...Java编程实训 Java开发基础入门教程1-13 AWT事件处理模型(共29页).ppt
这是一个用java里面的awt实现的一个简易计算器,由于时间仓促,没有添加事件处理,不过界面还看得过去!