- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 Java的GUI设计 Java AWT事件处理机制 如果用户在用户界面层执行了一个动作(鼠标点击和按键),这将导致一个事件的发生。事件是描述发生了什么的对象。存在各种不同类型的事件类用来描述各种类型的用户交互。事件源是一个事件的产生者。例如,在Button组件上点击鼠标会产生以这个Button 为源的一个ActionEvent。这个ActionEvent实例是一个对象,它包含关于刚才所发生的那个事件的信息的对象。事件处理器就是一个接收事件、解释事件并处理用户交互的方法。 Java语言采用委托事件模型进行事件的处理。在这个模型中,已经定义好了事件源可能产生的事件类型和与该事件类型相对应的接口,它们位于java.awt.event包和javax.swing.event包中。事件监听者是实现与该事件相对应的接口的类的对象。例如,对JButton组件进行单击,就产生ActionEvent事件,与ActionEvent事件对应的接口为ActionListener。如果用户定义的一个名叫ButtonHandler的类实现了ActionListener接口的方法(以事件对象为参数),则ButtonHandler类的一个实例,就可以作为单击事件的监听者。 事件源需要被注册到监听者才能被监测到相对应事件的发生,事件才能被处理。 事件是只向注册的监听者报告的对象(作为方法的参数)。 每个事件都有一个对应的监听者接口,规定哪些方法必须在适合接收那种类型的事件的类中定义。实现了定义那些方法的接口的类可以为一个监听者。 事件与事件源 用户在操作应用程序界面中的组件时,就会产生事件(Event),例如单击一个按钮,就会产生一个动作事件(ActionEvent);对窗口进行缩放或关闭等操作,就会产生一个窗口事件(WindowEvent);操作了键盘就会产生对应的键盘事件(KeyEvent)。 事件源指事件的来源对象,例如单击一个按钮时,这个按钮就是事件源。 在Java语言中“一切皆对象”,事件也不例外。当事件源产生事件后,与该事件有关的信息,如事件源、事件类型等就会被系统封装在一个事件对象中,在处理这个事件的程序中如果需要就可以取出有关信息。 监听器 事件源产生事件后,就要有相应的处理者来接收事件对象,并对其进行处理。事件的处理者要时刻监听是否有事件产生,如果监视到有事件产生,就会自动调用相应的事件处理程序进行事件处理,正因为如此,一般把事件的处理者叫事件监听器。 事件类型 对于每类事件,都有一个接口,这个接口必须由想接收这个事件的类实现。实现接口的类要求实现接口的一个或多个方法,当发生特定的事件时,就会调用这些方法。表8.4列出了这些(事件)类型,并给出了每个类型对应的接口名称,以及所要求定义的方法。这些方法的名称是易于记忆的,名称表示了会引起这个方法被调用的源或条件。 表8.4 方法类型和接口 事件类型 接口名 要实现方法 ActionEvent ActionListener actionPerformed(ActionEvent) Item ItemListener itemStateChanged(ItemEvent) Mouse motion MouseMotionListener mouseDragged(MouseEvent) mouseMoved(MouseEvent) Mouse button MouseListener mousePressed(MouseEvent) mouseReleased(MouseEvent) mouseEntered(MouseEvent) mouseExited(MouseEvent) Key KeyListener keyPressed(KeyEvent) keyReleased(KeyEvent) keyTyped(KeyEvent) Focus FocusListener focusGained(FocusEvent) focusLost(FocusEvent) Adjustment AdjustmentListener adjustmentValueChanged (AdjustmentEvent) Component ComponentListener componentMoved(ComponentEvent) componentHi
您可能关注的文档
- Marry-me!史上最传奇求婚礼物.ppt
- 清迈三姐妹度假旅馆(The-3-Sis-Vacation-Lodge).docx
- 悉尼沃灵伽曼利沃旅行者宾馆(Travelodge-Manly-Warringah).docx
- B3-FRANKLIN'S-MASTERPIECE--小乌龟学美语文本.doc
- Melody新概念一Lesson-1笔记.doc
- melody幼儿英语所有对话.docx
- Lesson-2---Breakfast-or-lunch重点语法及文化补充.docx
- 英汉翻译(3)翻译的方法.ppt
- 使用geoserver创建样式简单图解.doc
- 英语美文:幸运帽.docx
- pep六年级英语上册易错题时态、三单、ing.pdf
- 2024秋九年级历史上册第二单元近代社会的确立与动荡第12课“英特纳雄耐尔”一定要实现教案北师大版.pdf
- 2024年河南省成人高考专升本《教育理论》备考题库及答案.pdf
- 《Linux操作系统》复习题(带答案).pdf
- 《易错题》小学数学一年级下册第四单元知识点复习(培优练).pdf
- 2024年英语师范生教育实习总结(2篇).pdf
- “油味”海洋学知到章节答案智慧树2023年中国石油大学(华东).pdf
- 一年级英语教学反思(15篇).pdf
- 2024贵州省继续教育公需科目考试题(含答案).pdf
- 【考前冲刺】中考化学精准押题模拟卷04(广东卷)(考试版)A4.pdf
文档评论(0)