装修小编 发表于 2018-11-30 14:40:02

java核心技术卷1--第11章

  书籍:java核心技术卷1==============java核心技术卷1第11章---- 事件处理===================
主要内容:
    1 事件处理基础
    2 动作
    3 鼠标事件
    4 AWT事件集成层次
===========================================================
1、任何支持GUI 的操作环境都要不断地监视按键或点击鼠标这样的事件。
像Java 这样的面向对象语言, 都将事件的相关信息封装在一个事件对象( event object )中。在Java 中, 所有的事件对象都最终派生于java.util.EventObject 类。每个事件类型还有子类, 例如, ActionEvent 和WindowEvent。
AWT 事件处理机制的概要:
·监听器对象是一个实现了特定监听器接口(listener interface) 的类的实例。
·事件源是一个能够注册监听器对象并发送事件对象的对象。
·当事件发生时,事件源将事件对象传递给所有注册的监听器。
·监听器对象将利用事件对象中的信息决定如何对事件做出响应。
一个监听器类有多个实例的情况并不多见。更常见的情况是: 每个监听器执行一个单独的动作。在这种情况下, 没有必要分别建立单独的类。只需要使用一个lambda 表达式:exitButton.addActionListener(event -> Systeu.exit(O));
可以通过扩展适配器类来指定对某些事件的响应动作, 而不必实现接口中的每个方法。
2、Swing 包提供了一种非常实用的机制来封装命令,并将它们连接到多个事件源,这就是Action 接口。一个动作是一个封装下列内容的对象:
·命令的说明(一个文本字符串和一个可选图标);
·执行命令所需要的参数。
如果动作对象添加到菜单或工具栏上,它的名称和图标就会被自动地提取出来, 并显示在菜单项或工具栏项中。
总结一下用同一个动作响应按钮、菜单项或按键的方式:
1 ) 实现一个扩展于AbstractAction 类的类。多个相关的动作可以使用同一个类。
2 ) 构造一个动作类的对象。
3 ) 使用动作对象创建按钮或菜单项。构造器将从动作对象中读取标签文本和图标。
4 ) 为了能够通过按键触发动作, 必须额外地执行几步操作。首先定位顶层窗口组件,例如, 包含所有其他组件的面板。
5 ) 然后, 得到顶层组件的WHEN_ANCESTOR_OF_FOCUS_COMPONENT 输入映射。为需要的按键创建一个KeyStrike 对象。创建一个描述动作字符串这样的动作键对象。将(按键, 动作键)对添加到输人映射中。
6 ) 最后, 得到顶层组件的动作映射。将(动作键, 动作对象)添加到映射中。
3、鼠标操作将由用户界面中的各种组件内部处理。
当用户点击鼠标按钮时, 将会调用三个监听器方法: 鼠标第一次被按下时调用mousePressed ; 鼠标被释放时调用mouseReleased; 最后调用mouseClicked。如果只对最终的点击事件感兴趣, 就可以忽略前两个方法。用MouseEvent 类对象作为参数, 调用getX 和getY 方法可以获得鼠标被按下时鼠标指针所在的x 和y 坐标。
鼠标点击由mouseClicked 过程报告, 它是MouseListener 接口的一部分。
4、 AWT 将事件分为底层( low-level) 事件和语义(semantic ) 事件。语义事件是表示用户动作的事件, 例如,点击按钮;因此,ActionEvent 是一种语义事件。底层事件是形成那些事件的事件。

作者:天品正连接@装修流程,装修视频
天品正连接全国各地装修团队用装修视频记录装修过程中的每一步,分享给广大网友,如今各装修爱好者已经在各微信群里面活跃交流,每有新装修培训课程都会在微信群同步,欢迎大家加入交流,加微信会拉你入群的.
添加微信:tianfuzx
如果对装修有问题可以在天品装修论坛搜索相关知识!还有更多装修效果图的展示及实现施工记录!

页: [1]
查看完整版本: java核心技术卷1--第11章