8.AWT和事件监听
更新时间:2024-04-10 12:13:01 阅读量: 综合文库 文档下载
- 8awto推荐度:
- 相关推荐
第八讲 AWT和事
件监听
打印本页
1 基本概念
下面几讲,我们就来学习AWT的各种容器和组件,并重点学习AWT的事件监听和处理方法。由于学习事件需要用到一些简单的构件,我们先学习几个简单的构件。现在,我们先来介绍AWT里面几个重要的概念:构件,容器,布局管理器和事件监听(AWT P4)。
1.1构件是图形用户界面的最小单位之一,它里面不再包含其他的成分. 构件的作用是完成与用户的一次交互,包括接受用户的一个命令,接受用户的一个文本输入,向 用户显示一段文本或一个图形等。常用的构件有: 按钮构件
项目选择构件:复选框(Checkbox) 列表(List或Choice) 文本构件:文本框文本区
对话框构件:对话框文件对话框提示框帮助 菜单构件:弹出式菜单复选框菜单 1.2容器
容器是用来组织构件的单元。常用的容器有:面板、窗口。 1.3布局管理器:
布局管理器用来布置容器和容器中的各个构件,比如他们的大小、位置等。AWT提供了几种标准的布局管理器。 1.4事件监听
要使点击鼠标、敲打键盘等实现特定的动作,我们需要捕捉事件并且加以实现。AWT里典型的事件有:鼠标事件、鼠标移动事件、键盘事件、窗口事件等。
我们通过学习最基本的构件和容器(标签、按钮和面板)来粗略理解这些概念。标签和按钮是显示标签的简单构件;而面板是AWT提供的最基本的容器。
2 几个简单的构件和容器 标签(java.awt.Label) 标签用来显示文本。 演示(StarterApplet) 面板(java.awt.Panel)
面板是一个通用的容器,在上面可以放置各种构件。 我们经常用的Applet类,其实就是面板的一个子类 按钮(java.awt.Button)
按钮具有三维外型,当它们被激活时触发按钮事件,用户可以根据按钮事件,做出适当的反应,比如执行一系列操作等。 演示
3 事件
AWT有两种事件处理模型:一种是基于继承的模型,它在AWT1.1或以前的版本中使用,现在已经逐渐被淘汰;另一种是基于授权的事件模型。我们主要学习给予授权的事件模型。
授权事件模型的原理很简单:事件源激发事件、事件监听器监听事件,最后执行事件。可以通过调用addXYZListener(XYZListner)方法向构件注册监听器。把监听器加到构件中以后,如果构件激发相应类型的事件,那么监听器接口中的适当方法将被调用。 演示:teach6中的botton。 3.1关于事件的几个概念
事件源:就是触发事件的源头。不同的事件源触发不同的事件类型,比如一个按钮构件,当点击按钮时,就会触发一个ActionEvent事件;而一个窗口构件,可以触发WindowEvent事件,选择构件则可以触发ItemEvent。每一种事件类型有其各自的方法,比如:ItemEvent有
getItemSelectable()方法,来查找事件源。当事件源出发了一个事件,Java将自动创建某一类型的事件对象;
事件监听器:事件监听器负责监听事件源发出的事件。一个事件监听器通常是一个
XYZListnener接口。事件源允许我们向它注册事件监听器,一个事件源可以注册多个事件监听器。当事件源发生了一个事件,对已经向这个事件源注册的所有事件监听器,事件源会向它们全体发送一个通知。
注册事件:向一个构件注册一个事件,一般格式是:addXYZListener(xYZListener),其中,addXYZListener中的XYZListener是该事件的监听器接口。xYZListener是实现了该接口的类的一个对象。比如,假设b是一个按钮构件,那么,向b注册一个事件的方法是:
b.addActionListener(buttonListener);其中,buttonListener是实现ActionListener接口的一个类的对象,里面实现了actionPerformed()方法。触发这个事件之后所执行的操作,就是在actionPerformed()方法中实现。我们可以写一个实现ActionListener接口的类,也可以直接在参数行里实现这个借口。比如:演示。 取消注册则使用removeXYZListener()方法。
执行事件:事件的执行在事件监听器接口里面的各种方法中实现。当监听器监听到一个事件时,就会调用它的相应的方法,响应这个事件。 3.2 事件处理的过程综述 总之:
1. 事件源是一个构件,它可以注册事件监听器对象,并向其发送事件对象; 2. 事件发生后,事件源将事件对象发给已经注册的所有监听器; 3. 监听器对象随后会根据事件对象内的相应的方法响应这个事件。
4 几种主要的事件
4.1焦点事件(FocusEvent)
如果构件可以接收用户按键,我们说该构件拥有“焦点”或“输入焦点”(Focus)。(基础知识P236)。在任何时刻,每个窗口系统中至多存在一个具有键盘焦点的构件。具有焦点的构件有显著的特征,比如,具有焦点的按钮的边框内虚线矩形;具有焦点的文本框有一闪烁的光标等。焦点事件分为FOCUS_LOST和FOCUS_GAINED事件,当焦点从构件A传给构件B时,构件A触发的焦点事件的ID是FOCUS_LOST,而事件B触发的焦点事件的ID是FOCUS_GAINED。焦点可以用TAB键移动,也可以用鼠标点击使某一构件获得焦点,还可以调用focusRequested()方法。焦点事件的监听器是FocusListener。注册焦点事件监听器的方法是:addFocusListener(FocusEvent)
4.2键盘事件(KeyEvent)
在具有键盘焦点的构件中按下或者释放键盘时,会触发键盘事件。键盘事件的ID有三种:KEY_PRESSED, KEY_ELEASED, KEY_TYPED,分别表示“按下”,“释放”,“按下键盘字符”。键盘事件的监听器是KeyListener,注册键盘事件的方法是:addKeyListener(KeyEvent)。里
面有三个接口:keyPressed(KeyEvent),keyReleased(KeyEvent),keyTyped(KeyEvent)。 键盘事件是输入事件,是可以消耗的。(基础知识P194) 4.3鼠标事件和鼠标移动事件(MouseEvent)。
鼠标事件包括:进入/退出、按下/释放、单击等,而鼠标移动事件指鼠标移动和鼠标拖放。鼠标事件的监听器是MouseListener,而鼠标移动事件的监听器是MouseMotionListener。 4.4窗口事件(WindowEvent)
java.awt.Window和它的扩展类,能激发窗口事件。窗口事件表示窗口处于激活/无效状态、图标/非图标状态、打开/关闭或正在关闭过程中。窗口事件的监听者是WindowListener。
小结
1.这一讲,我们学习了几个简单的构件,包括标签、面板和按钮。 2.几个生要的概念:构件,容器,局管理器和事件监听。 习题
1.容器和普通构件在功能上有什么不同;主要的容器有哪些? 2.简述授权事件模型的事件处理过程
3.编一个小程序:一个面板中含一个按钮,点击按钮时,显示“botton pressed”字样。
正在阅读:
8.AWT和事件监听04-10
2009年注会《税法》第15章练习01-02
无线网络技术作业09-18
有关优美句子「大全」11-21
浅谈运用互联网进行家校共育的有效途径12-28
医务人员岗位基本技能和竞赛活动方案01-01
北姜家庄社区安置房建设项目水保方案面积修改定 - 图文10-23
2017咨询工程师继续教育 工程项目管理95分试卷01-31
人教新目标英语七年级上Unit1MynameisGina教学设计204-07
钻井泥浆材料的所以成分及解释 - 图文03-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 监听
- 事件
- AWT
- 内江师范学院暑期三下乡社会实践个人总结
- 2012级工程硕士研究生随机过程试卷
- CCF青少年计算机程序设计评级标准(简版)
- 教你在Google PageRank值更新前预测自己的新PR
- 高等数学线性代数公式大全
- 2017年新版苏教版一年级语文下册表格式教案
- 2014年中国金属结构制造行业山西省TOP50企业排名
- 煤化工焦化厂实习报告
- 2015市场调查与预测习题集答案
- 400单元汽提干燥试题库
- 关于中小学信息技术学科价值的几点思考
- 2014-2018年中国男装行业分析与投资前景评估报告 - 图文
- 2017中小学教师职业道德规范心得体会(4篇)
- 2011年度博士研究生学术新人奖获奖名单
- 发行与承销
- 普通植物病理学复习提纲
- 洞头鹿西渔港工程水土保持监测实施方案
- 2015人大金融硕士:金融硕士考研要注意的8大问题
- 行政法练习题三
- 上港小学教师队伍管理制度