天品正连接:专注家装,专注施工,实现装修效果图连接全国装修正能量.打造一个纯净的互联网装修论坛平台!

 找回密码
 立即加入

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

查看: 1949|回复: 0

[其他优文] java核心技术卷1--第11章

[复制链接]
发表于 2018-11-30 14:40:02 | 显示全部楼层 |阅读模式
  册本: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

假如对拆建有成绩能够正在天品拆建论坛搜刮相干常识!另有更多拆建结果图的┞饭示及完成施工记载!



您需要登录后才可以回帖 登录 | 立即加入

本版积分规则


QQ|Archiver|手机版|小黑屋|天品装修联盟:家庭装修视频流程教程让木工水电工等装修施工工艺更清晰明了! ( 蜀ICP备18004998号 )

GMT+8, 2024-5-4 05:44 , Processed in 0.068885 second(s), 27 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表