




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
低级事件与语义事件AWT 提供了二种概念性事件类型:低级事件和语义事件。低级事件代表屏幕上可视化组件的低级输入或窗口系统事件。AWT 定义的低级事件类如下:java.util.EventObjectjava.awt.AWTEvent java.awt.event.ComponentEvent(组件改变大小,移动等)java.awt.event.FocusEvent(组件获得焦点,失去焦点)java.awt.event.InputEvent java.awt.event.KeyEvent(组件获得键按下、键释放等) java.awt.event.MouseEvent(组件获得鼠标按下、鼠标移动等)java.awt.event.ContainerEventjava.awt.event.WindowEvent语义事件是在较高层次定义的,用于封装用户接口组件模型的语义。AWT 定义的语义事件类如下:java.util.EventObject java.awt.AWTEventjava.awt.event.ActionEvent(“执行命令”)java.awt.event.AdjustmentEvent(“值被调整”)java.awt.event.ItemEvent (“项目状态改变”)java.awt.event.TextEvent(“文本对象的值改变”)注意这些语义事件不依赖特定的基于屏幕的组件类,但可以应用到实现类似语义模型的一套组件上。例如,Button 对象将在被按下时抛出“action”事件,List 对象将在双击其中项目时抛出“action”事件,当从菜单中选择 MenuItem 时抛出“action”事件,而非可视化 Timer 对象在计时器到时时抛出“action”事件(后者为假设情况)。事件监听器EventListener 接口通常对于事件类代表的不同事件类型具有不同的方法。因此本质上,特定事件语义由 Event 类和 EventListener 中的特定方法合起来定义。例如,FocusListener 接口定义了两种方法,focusGained() 和 focusLost(),分别用于 FocusEvent 类代表的两种事件类型。该 API 试图提供一个合理的监听器接口类型数量而又不是为每种事件类型都提供单独的接口。AWT 定义的低级监听器接口如下:java.util.EventListener java.awt.event.ComponentListener java.awt.event.ContainerListener java.awt.event.FocusListener java.awt.event.KeyListener java.awt.event.MouseListener java.awt.event.MouseMotionListener java.awt.event.WindowListenerAWT 定义的语义监听器接口如下:java.util.EventListener java.awt.event.ActionListener java.awt.event.AdjustmentListener java.awt.event.ItemListener java.awt.event.TextListener 事件源因为事件源抛出的事件由对象的特定方法定义,所以在 API 文档中(以及通过使用运行时自查技术)对象精确支持哪些事件是完全清楚的。所有 AWT 事件源支持监听器的 multicast 模型。这意味着可在单个源中添加或清除多个监听器。但 API 不能保证事件按次序发送到给定源上给定事件的一组已注册监听器。此外,任何允许修改其属性(通过 setXXX() 方法)的事件将显式地被复制,以使每个监听器接收到原事件的一份副本。如果程序需要考虑事件发送到监听器的次序,则应该将监听器链接到已在源上注册的单个监听器上(将事件数据封装在单个对象中使得事件传播相当简单)。事件发送是同步的(如 1.0 版中的 handleEvent()),但是程序不应该假定在同一线程中将事件发送到一组监听器。再次强调,低级事件和语义事件是有区别的。对于低级事件,源是一个可视化组件类(Button、Scrollbar 等),因为事件紧密地绑定到屏幕上的实际组件。低级监听器在下列组件上定义: java.awt.Component addComponentListener(ComponentListener l)addFocusListener(FocusListener l)addKeyListener(KeyListener l)addMouseListener(MouseListener l)addMouseMotionListener(MouseMotionListener l) java.awt.Container addContainerListener(ContainerListener l) java.awt.Dialog addWindowListener(WindowListener l) java.awt.Frame addWindowListener(WindowListener l)对于语义事件,源通常是代表语义模型的高级接口(并且这个高级接口通常由使用该模型的组件实现)。下面是为 AWT 组件定义的语义监听器: java.awt.Button addActionListener(ActionListener l) java.awt.Choice(实现 java.awt.ItemSelectable) addItemListener(ItemListener l) java.awt.Checkbox(实现 java.awt.ItemSelectable) addItemListener(ItemListener l) java.awt.CheckboxMenuItem(实现 java.awt.ItemSelectable) addItemListener(ItemListener l) java.awt.List(实现 java.awt.ItemSelectable) addActionListener(ActionListener l)addItemListener(ItemListener l) java.awt.MenuItem addActionListener(ActionListener l) java.awt.Scrollbar(实现 java.awt.Adjustable) addAdjustmentListener(AdjustmentListener l) java.awt.TextArea addTextListener(TextListener l) java.awt.TextField addActionListener(ActionListener l)addTextListener(TextListener l)适配器由于许多 EventListener 接口设计成监听多种事件子类型(例如 MouseListener 监听鼠标按下、鼠标释放、鼠标进入等),所以 AWT 将提供一套抽象“适配器”类,分别实现每个监听器接口。这将允许程序很容易地扩展适配器并仅覆盖代表它们想要事件类型的方法。AWT 提供的适配器类如下:java.awt.event.ComponentAdapterjava.awt.event.ContainerAdapterjava.awt.event.FocusAdapterjava.awt.event.KeyAdapterjava.awt.event.MouseAdapterjava.awt.event.MouseMotionAdapterjava.awt.event.WindowAdapterJava将所有组件可能发生的事件进行分类,具有共同特征的事件被抽象为一个事件类AWTEvent,其中包括ActionEvent类(动作事件)、MouseEvent类(鼠标事件)、KeyEvent类(键盘事件)等。表10.17列出了常用Java事件类、处理该事件的接口及接口中的方法。常用Java事件类、处理该事件的接口及接口中的方法事件类/接口名称接口方法及说明ActionEvent动作事件类ActionListener接口actionPerformed(ActionEvent e)单击按钮、选择菜单项或在文本框中按回车时或者双击列表项时AdjustmentEvent调整事件类AdjustmentListener接口adjustmentValueChanged(AdjustmentEvent e)当改变滚动条滑块位置时ComponentEvent组件事件类ComponentListener接口componentMoved(ComponentEvent e)组件移动时componentHidden(ComponentEvent e)组件隐藏时componentResized(ComponentEvent e)组件缩放时componentShown(ComponentEvent e)组件显示时ContainerEvent容器事件类ContainerListener接口componentAdded(ContainerEvent e)添加组件时componentRemoved(ContainerEvent e) 移除组件时(所有容器 如面板)FocusEvent焦点事件类FocusListener接口focusGained(FocusEvent e)组件获得焦点时focusLost(FocusEvent e)组件失去焦点时(所有组件)ItemEvent选择事件类ItemListener接口itemStateChanged(ItemEvent e)选择复选框、单选项框、单击列表框、选中带复选框菜单时KeyEvent键盘事件类KeyListener接口keyPressed(KeyEvent e)键按下时keyReleased(KeyEvent e) 键释放时keyTyped(KeyEvent e)击键时(所有组件)MouseEvent鼠标事件类MouseListener接口mouseClicked(MouseEvent e) 单击鼠标时mouseEntered(MouseEvent e)鼠标进入时mouseExited(MouseEvent e)鼠标离开时mousePressed(MouseEvent e)鼠标键按下时mouseReleased(MouseEvent e) 鼠标键释放时(所有组件)MouseEvent鼠标移动事件类MouseMotionListener接口mouseDragged(MouseEvent e)鼠标拖放时mouseMoved(MouseEvent e)鼠标移动时(所有组件)TextEvent文本事件类TextListener接口textValueChanged(TextEvent e)文本框、多行文本框内容修改时WindowEvent窗口事件类WindowListener接口windowOpened(WindowEvent e)窗口打开后windowClosed(WindowEvent e)窗口关闭后windowClosing(WindowEvent e)窗口关闭时windowActivated(WindowEvent e)窗口激活时windowDeactivated(Windo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抑郁症合并自主神经功能失调护理查房
- 阿克苏市2024-2025学年八年级下学期语文期末测试试卷
- 安徽省淮南市谢家集区2023-2024学年高二上学期期中考试物理试题含参考答案
- 安徽省蚌埠市龙子湖区2024-2025学年高三下学期高考二模物理题目及答案
- 2025 年小升初廊坊市初一新生分班考试数学试卷(带答案解析)-(冀教版)
- 工艺组2025年上半年工作总结和下半年工作计划-3-(4000字)
- 脑桥中央髓鞘溶解症患者护理
- 社区消防知识培训课件通知
- 统编版2025-2026学年三年级语文上册第五单元检测卷(有答案)
- 广东省广州市花都区华万学校2025-2026学年八年级上学期开学考试语文试题(含解析)
- 电动车电池维修与更换合同
- JTS∕T 159-2021 水运工程模袋混凝土应用技术规范
- 2024年(高级)网络规划设计师考试题库大全(含真题、典型题等)
- 2024年大学试题(大学选修课)-创业:道与术笔试参考题库含答案
- 口腔颌面部外伤的处理课件
- 《现代涉外礼仪》课件
- 社区生殖健康知识培训方案
- 耳鼻喉科患者的心理护理与干预策略
- 30道医院妇产科医生岗位高频面试问题附考察点及参考回答
- 设计单位工程质量检查报告(合格证明书)
- (完整word版)中国银行交易流水明细清单模版
评论
0/150
提交评论