转载来源: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事件处理
此外,Java Swing库扩展了AWT的事件处理机制,提供了更丰富的组件和更灵活的事件模型,如匿名内部类和Lambda表达式处理事件。尽管Swing是建立在AWT之上的,但两者在事件处理方面有许多共通之处。 总结来说,Java ...
在AWT中,事件处理机制是核心功能之一,允许开发者响应用户的输入操作。下面我们将深入探讨AWT的事件处理机制及其工作原理。 1. **事件源(Event Source)**: - 在AWT中,事件源是指那些可以产生事件的对象,如...
在Java中,事件处理采用授权事件模型,其中事件源(通常是GUI组件)产生事件并将其发送给已注册的监听器。监听器就像守候者,静待事件的发生,一旦接收到事件,它们会执行相应的处理逻辑,然后返回,继续等待下一个...
基于命令模式的Java AWT事件处理的改进设计与实现 本文档介绍了基于命令模式的Java AWT事件处理的改进设计与实现。该设计通过将触发事件的组件组合到命令模式的请求者中,然后使用内部类的实例处理Java AWT事件,...
它包含在`java.awt`包中,提供了构建GUI所需的基本组件、布局管理器以及事件处理机制。AWT允许开发者构建出丰富的交互式应用程序,让用户可以通过图形化的方式与程序进行交互。 在AWT中,组件(Component)是GUI的...
AWT的事件处理机制基于事件监听器模型。事件监听器是一个实现了特定事件接口的对象,例如MouseListener或KeyListener。通过调用组件的`addMouseListener()`或`addKeyListener()`方法,我们可以将监听器附加到组件上...
AWT事件处理模型是Java图形用户界面(GUI)编程中的一种机制,用于处理用户与界面组件之间的交互。在AWT库中,为了响应用户的操作,如点击按钮、输入文本等,需要实现事件处理机制。这一机制的核心是事件(Event)、...
4. **事件处理**:虽然两者都支持事件处理,但SWING提供了一个更强大的模型,允许你使用匿名内部类或者`ActionListener`接口来处理事件,而AWT通常需要实现`MouseListener`, `KeyListener`等接口,代码相对复杂。...
在Java中,事件处理遵循一种称为"委托事件模型"的机制。 委托事件模型的核心概念包括事件源、监听器和处理事件的接口。事件源是发生事件的对象,例如按钮或文本字段。当用户执行特定操作(如点击按钮)时,事件源会...
AWT事件模型是Java GUI程序的事件处理机制。AWT事件模型采用授权事件模型(Delegation Event Mode),即事件处理工作是由事件监听器来完成的。事件处理过程包括三个部分:事件、事件源和事件处理。 图形用户界面GUI...
Java教程之AWT事件模型
Java编程实训中的AWT事件处理模型是Java图形用户界面(GUI)编程的重要组成部分。在Java AWT库中,事件处理是通过一个授权事件模型来实现的,该模型将事件源、事件和事件监听器分离,使得代码更加模块化和易于维护。...
AWT提供了丰富的组件、事件处理机制和布局管理器,以实现跨平台的图形用户界面设计。 8.1 AWT概述: 在AWT中,图形界面设计的核心是抽象窗口,这意味着AWT的组件和操作都定义在一个抽象层面上,不直接依赖特定的...
JAVA编程基础:第七章 AWT 事件模型 总结:类,方法,接口,其中总结了如何获得事件源,实现接口方法,是对awt的一些组件的总结
java语言学习,awt事件模型,课件ppt,希望能对大家的学习有所帮助。
如果你认真学习每个ppt并自己敲完这些实例,你的java基础已经很优秀了!这些资料就是某些大学和培训机构一个学期或更长时间学习的! 为的是共同学习,共同进步! 注:本资料不承担任何法律责任!
### JAVA自学课件-第八章 AWT及AWT事件处理 #### AWT(Abstract Window Toolkit) 在Java中,AWT(抽象窗口工具包)是一种用于创建图形用户界面(GUI)的工具包。它是由Sun Microsystems(现在是Oracle的一部分)...