北京大学计算机系:《Java》课程讲义(PPT课件)第三章 Java事件(事件处理)

第三章事件处理 北京大学计算机系代亚非
1 北京大学计算机系 代亚非 第三章 事件处理

第3章事件处理 31什么是事件 32鼠标产生的事件 33键盘产生的事件 34动作事件 35通用事件处理程序 36发送自己的事件 37Java1.1事件处理模型 39小结
2 第3章 事件处理 3.1 什么是事件 3.2 鼠标产生的事件 3.3 键盘产生的事件 3.4 动作事件 3.5 通用事件处理程序 3.6 发送自己的事件 3.7 Java 1.1事件处理模型 3.9 小结

3.1什么是事件 CGI之外的选择 外部程序 or cg1 www浏览器 url Web server C程序 数据库程序 interact applet ·什么是事件?用户用于交互而产生的键盘或 鼠标动作 响应用户的动作称为处理事件 在类 Event中,定义了所有的事件处理方法, 小应用已经继承了这些方法
3 • 什么是事件? 用户用于交互而产生的键盘或 鼠标动作. • 响应用户的动作称为处理事件. • 在类Event中,定义了所有的事件处理方法, 小应用已经继承了这些方法. www浏览器 Web server 外部程序 C程序 数据库程序 form cgi applet url interact 3.1 什么是事件 CGI之外的选择

3.1什么是事件 import java. awt Event Event在 java. awt包中,无论哪个键按下或者释放, 还是鼠标移动按下鼠标或释放鼠标AWT都会捕 获,并产生一个事件 处理事件的核心是重写处理事件的方法 通用方法: hand event(event evt, Object arg 专用方法: MouseDown(Event evt, Object arg)
4 3.1 什么是事件 import java.awt.Event; Event在java.awt包中,无论哪个键按下或者释放, 还是鼠标移动,按下鼠标或释放鼠标,AWT都会捕 获,并产生一个事件. 处理事件的核心是重写处理事件的方法 通用方法: handEvent(Event evt, Object arg) 专用方法: MouseDown(Event evt, Object arg)

3.1什么是事件 Event类的数据域 int click Count int key int id int modifiers Event Obiect target int y long when Object arg
5 Event类的数据域 3.1 什么是事件 Event Object arg int clickCount int id int key int modifiers Object target int x int y long when

3.1什么是事件 如果你不 Mousepox 覆盖你要 Mouse downo 处理的方 Event 法,则缺 Mousedrago 省的方法| Handle event0 MouseMove 返回一个 Mouseentero 假值,通 MouseexitO 知系统没 action(O 有处理事 keydowno 件 KeyUpo
6 3.1 什么是事件 Event HandleEvent() MouseUp() MouseDown() MouseDrag() MouseMove() MouseEnter() MouseExit() keyDown() KeyUp() action() 如果你不 覆盖你要 处理的方 法,则缺 省的方法 返回一个 假值,通 知系统没 有处理事 件

32鼠标产生的事件 鼠标事件的三个参数: 1事件的类型(是移动?托拽) 2是按下还是放开? 3鼠标的位置(xy) 方法的重写: public boolean mouse Down(Event evt, int x, int y)
7 3.2鼠标产生的事件 鼠标事件的三个参数: 1.事件的类型(是移动?托拽) 2.是按下还是放开? 3.鼠标的位置(x,y) 方法的重写: public boolean mouseDown(Event evt,int x,int y) {….}

32鼠标产生的事件 例:在鼠标单击的地方显示0 use 捕获事 「梦毅[在(y处画叉 mouseDown (Event evt, paint int x, int y) drawline 思路:记忆鼠标点过的所有点 1. Point marksI= newPoint20(在init方法中) 2mark计+= new pointe(xy);( Mouse down方法中) 3将所有的点画出来(在pain方法中) g fillOval(x, y, 10, 10);
8 捕获事件 mouseDown 获得参数(x,y) (Event evt, int x, int y) 在(x,y)处画叉 paint() drawLine 3.2鼠标产生的事件 例:在鼠标单击的地方显示 “ ”.(MouseClick.html) 思路:记忆鼠标点过的所有点 1.Point marks[]=newPoint[20];(在init方法中) 2.marks[i++]=new Point(x,y); (MouseDown方法中) 3.将所有的点画出来(在paint方法中) g.fillOval(x,y,10,10);

import java. awt. *;import java applet. public class mark extends Applet int i; Point Marks; public void inito Marks =new Point 20; i=20;3 boolean mouseDown(Event evt, int x, int y) i Marks i++l=new Point(x, y); repaint: public void paint( graphics g) int k: for(k=0;k≤i;k++){ g fillOval(Marks kX, Marks[k y, 10, 10
9 . 3.2鼠标产生的事件 boolean mouseDown(Event evt, int x, int y) { Marks[i++]=new Point(x,y); repaint(); } public void paint(Graphics g) { int k; for (k=0;k<i;k++){ g.fillOval(Marks[k].x,Marks[k].y,10,10); } import java.awt.*;import java.applet.*; public class mark extends Applet { int i; Point Marks[]; public void init() {Marks[] =new Point[20]; i=20;}

10 32鼠标产生的事件 import java. awt. * import java applet applet; public class CountClick extends applet Rint Currentmarks=0 public boolean mouse Down (Event evt, int x, int y) i Currentmarks++; repaint return trues public void paint(graphics g) ig drawString("+CurrentMarkS, 10, 10); 练习对鼠标的点击动作计数
10 import java.awt.*;import java.applet.Applet; public class CountClick extends Applet {int CurrentMarks=0; public boolean mouseDown(Event evt,int x,int y) { CurrentMarks++; repaint(); return true; } public void paint(Graphics g) { g.drawString(" "+CurrentMarks,10,10);} } 3.2鼠标产生的事件 [练习]对鼠标的点击动作计数
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京大学计算机系:《Java》课程讲义(PPT课件)第七章 Java线程(多线程).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第一章 Java的类.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第6章 类与对象.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第5章 Prolog基础.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第4章 Visual Prolog概述.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第3章 A编程基础.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第2章 知识表示方法.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第1章 人工智能概述.ppt
- 《面向对象语言》课程教学资源(讲稿)表14-3内部谓词简述.doc
- 《面向对象语言》课程教学资源(讲稿)class predicates.doc
- 《面向对象语言》课程教学资源(PPT课件讲稿)主目录.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)附录 术语表.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第15章 与其他编程语言接口.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第14章 内部论域、谓词和常量.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第13章 编译单元.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第12章 Visual Prolog程序元素.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第11章 Visual Prolog数据元素.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第10章 Visual Prolog语言元素.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第9章 编码风格.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第8章 编写CGI程序.ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第九章 分布式对象技术体系(1/2).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第九章 分布式对象技术体系(2/2).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第二章 Java小程序小应用.ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第五章 Java显示AWT(构成用户界面的窗口环境).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第八章 Java网络功能.ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第六章 Java流(数据流的运用).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第四章 Java异常处理.ppt
- 《CAXA2000电子图板教程》ppt电子课件.ppt
- 《电子商务的技术基础》第四章(4-1) 国际互联网.ppt
- 北京邮电大学自动化学院:《数据结构》第一章 绪论(杨福兴).ppt
- 北京邮电大学自动化学院:《数据结构》第一章(1-1)什么是数据结构.ppt
- 北京邮电大学自动化学院:《数据结构》第七章 图.ppt
- 北京邮电大学自动化学院:《数据结构》第三章 栈和队列.ppt
- 北京邮电大学自动化学院:《数据结构》第九章 排序.ppt
- 北京邮电大学自动化学院:《数据结构》第二章 线性表.ppt
- 北京邮电大学自动化学院:《数据结构》第五章 数组和广义表.ppt
- 北京邮电大学自动化学院:《数据结构》第八章 查找.ppt
- 北京邮电大学自动化学院:《数据结构》第六章 树与二叉树.ppt
- 北京邮电大学自动化学院:《数据结构》第四章 串.ppt
- 清华大学:《VC++面向对象与可视化程序设计》课程教学资源(PPT课件讲稿)第5 讲文本与字体.ppt