网站大量收购独家精品文档,联系QQ:2885784924

Java程序设计技能教程 彭德林 JAVA程序设计技能教程第10章新.ppt

Java程序设计技能教程 彭德林 JAVA程序设计技能教程第10章新.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java程序设计技能教程 主编 彭德林 李德有 中国水利水电出版社 第10章 键盘与鼠标事件响应 10.1 任务一 掌握事件处理机制 10.1.1 相关概念 1.事件:是一个对象,它描述发生了什么事情。事件对象由在Java中预先定义好的类产生,Java定义了所有事件的事件类,如键盘操作对应的事件类是KeyEvent。 java.awt.AWTEvent类是所有事件类的父类。 2.事件源:能够产生事件的对象都可以称之为事件源,如键盘、鼠标、按钮等。 3.事件处理方法:能够接收、解析处理事件类对象,实现和用户交互的方法。它以事件对象为参数。 4.监视器:对事件源进行监视,使发生事件时做出处理的一种特殊的对象。事件源通过调用相应的方法将某个对象作为自己的监视器。 10.1.2 事件处理机制 Java采用“授权事件模型”(Event Delegation Model)的事件处理模式。其原理为:事先定义多种事件类型(即用户在GUI组件上进行的操作,如单击事件),当用户对某个GUI组件进行操作时,可能触发相应的事件,这个组件就是事件源。如果此组件注册了事件监听器(可以通过addXXXXListener方法注册),事件被传送给已注册的监听器,事件监听器负责处理事件的过程。一个组件可以注册一个或多个监听器。 监视器负责处理事件源发生的事件。监视器是个对象,为了处理事件源发生的事件,监视器会自动调用一个方法来处理事件。为了让监视器能对事件源发生的事件进行处理,创建该监视器的类必须声明实现相应的接口,即必须在类体中给出该接口中所有方法的方法体,这样在事件源发生事件时,监视器就自动调用执行被类实现的某个接口方法 ①若要保证一个组件产生的某种类型事件XXXEvent有效,需要注册一个“事件监听器”监听它。用如下语句设置事件监听器: 事件源.addXXXListener(XXXListener代表某种事件监听器)。 ②组件作为事件源,不同类型的组件会产生特定类型的事件。 ③一旦产生事件后,事件会被传送给已注册的一个或多个监听器。事件监听器是实现了与该事件相对应的XXXListener接口的类。 ④事件监听器监听到事件后,会根据事件的类型调用相应的事件处理方法。 1.java.awt.event包 (1)文本框回车、按钮单击、计时器、菜单项 引发动作事件:java.awt.event.ActionEvent 处理事件的接口:java.awt.event.ActionListener 接口中的方法:public void actionPerformed(ActionEvent event) (2)单选按钮、多选按钮、下拉列表 引发选项事件:java.awt.event.ItemEvent 处理事件的接口:java.awt.event.ItemListener 接口中的方法:public void itemStateChanged(ItemEvent event) 10.2.2 键盘监听接口KeyListener 对键盘事件可以通过java.awt.event.KeyListener接口中提供的方法来处理。 这个接口有三个方法: 1.keyPressed(KeyEvent e)响应按下键盘事件; 2.keyTyped(KeyEvent e)响应按下又松开键盘事件; 3.keyReleased(KeyEvent e)响应松开键盘事件; 它们都是public void方法,事件源要使用addKeyListener方法添加监视器来获得事件。 【例10-1】对键盘事件进行响应。 import java.awt.event.*; import javax.swing.*; import java.awt.*; public class hh extends JFrame implements KeyListener{ JButton JButton1; hh(){ JPanel jpanel1=new JPanel(); JButton1=new JButton(请按M键!); JButton1.addKeyListener(this); this.setSize(200,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jpanel1.add(JButton1); this.add(jpanel1); this.setVisible(true); } public void keyPressed(KeyEvent e){ if(e.getKeyCode()==KeyEvent.VK_M) { JBut

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档