第8章Java的事件处理机制
例外处理

8.1 8.2 8.3 8.4 8.5 8.6 8.7
例外分类 引发例外 声明抛出例外 捕捉例外 定义自己的例外类型 构造方法与例外处理 小结
例外是方法代码运行时出现的非正常状态, 例外是方法代码运行时出现的非正常状态, 运行时出现的非正常状态 这种非正常状态使程序无法或不能再正常地继续往 下运行。 下运行。 一些常见的例外包数组下标越界、除数为零、 内存溢出、文件找不到等。 内存溢出、文件找不到等。 Java采用面向对象的方法来处理例外。 采用面向对象的方法来处理例外。 采用面向对象的方法来处理例外 其运行机制是:当一个方法在运行时发生例外 其运行机制是:当一个方法在运行时发生例外 产生相应类型的一个例外对象、 的一个例外对象 时,将产生相应类型的一个例外对象、中止代码继 续往下运行并寻找相应的例外处理代码。 续往下运行并寻找相应的例外处理代码。
一般情况下,这类例外通过程序员正确的设计和实 一般情况下,这类例外通过程序员正确的设计和实 是可以避免的。或者说, 现是可以避免的。或者说,这类例外应尽量直接处 而不要把它们传送给调用者处理。 理,而不要把它们传送给调用者处理。 (3) Exception类及其非 类及其非RuntimeException子类: 表 子类: 类及其非 子类 运行时因环境的影响而引发的例外,例如: 示运行时因环境的影响而引发的例外,例如: ● IOException(输入输出例外): 在I/O操作失 (输入输出例外): 操作失 败或者被中断时引发。其子类包括: 败或者被中断时引发。其子类包括: EOFException、FileNotFoundException、 、 、 InterruptedIOException等。 等 ● InterruptedException(中断例外): 当前等待 (中断例外): 或睡眠线程被其他线程中断时引发。 或睡眠线程被其他线程中断时引发。 这类例外并非因设计或实现引起,是无法避免的。 这类例外并非因设计或实现引起,是无法避免的。 但一般情况下, 但一般情况下,程序员应该提供相应的代码捕捉和 处理。 处理。
客房管理系统java课程设计

客房管理系统java课程设计一、课程目标知识目标:1. 掌握Java语言面向对象编程的基本原理和方法;2. 学会使用Java语言设计并实现客房管理系统的基本功能模块;3. 了解数据库连接和SQL语句在Java中的应用,能够实现对客房信息的增删改查操作;4. 理解Java事件处理机制,实现对客房管理系统中用户界面的交互功能。
技能目标:1. 能够独立分析客房管理系统的需求,设计合理的系统架构和模块划分;2. 掌握使用Java语言编写类和对象,实现系统各个功能的方法;3. 学会运用数据库技术,实现客房信息的存储和管理;4. 提高问题解决能力,能够根据用户需求调整和优化系统功能。
情感态度价值观目标:1. 培养学生的团队协作意识,增强合作完成项目的能力;2. 培养学生勇于尝试、积极探究的学习态度,增强学习Java编程的兴趣;3. 增强学生的实际操作能力,使学生在实践中体会到编程的乐趣和成就感;4. 培养学生关注实际应用,关注社会发展,学会将所学知识应用于实际问题的解决。
二、教学内容1. Java面向对象编程基本原理:类的定义、对象的创建、封装、继承和多态;2. Java异常处理和文件操作:异常处理机制、文件读写操作;3. 数据库连接技术:JDBC简介、数据库连接、SQL语句的执行;4. Java GUI编程:Swing组件的使用、事件处理机制、布局管理器;5. 客房管理系统功能模块设计:- 客房信息管理:实现客房信息的添加、删除、修改和查询功能;- 客房预订管理:实现客房预订、取消预订、查询预订信息功能;- 客房入住与退房管理:实现客房入住、退房、查询在住客人功能;- 系统用户管理:实现用户登录、权限管理、用户信息管理功能;6. 系统测试与优化:功能测试、性能测试、用户界面优化。
教学内容安排和进度:1. 第1周:Java面向对象编程基本原理学习;2. 第2周:Java异常处理和文件操作;3. 第3周:数据库连接技术;4. 第4周:Java GUI编程;5. 第5-7周:客房管理系统功能模块设计;6. 第8周:系统测试与优化。
Java程序设计实例与操作答案

Java程序设计实例与操作答案第⼀章认识Java⼀.选择题1.D2.B3.D4.D⼆.简答题1.Java语⾔有三个技术分⽀,并且产⽣了三个版本的Java运⾏平台,分别是J2SE 标准版,主要⽤于开发桌⾯应⽤程序、低端服务器应⽤程序和Java Applet程序;J2EE 企业版,主要⽤于开发分布式⽹络程序,如电⼦商务⽹站和ERP系统等;J2ME 精简版,主要⽤于嵌⼊式系统开发,如移动电话、掌上电脑(PDA)以及其他⽆线设备。
2.Java应⽤程序和Java Applet程序。
Java应⽤程序要依赖JRE或JDK中的解释器来运⾏,⽽Java Applet程序的调⽤命令嵌⼊在⽹页的HTML代码⽂件中,显⽰⽹页时由Web 浏览器内置的Java解释器解释执⾏,并将其内容显⽰⽹页中。
3.Java虚拟机JVM是Java V irtual Machine的缩写。
JVM是⼀个虚构出来的计算机,它有⾃⼰完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
Java字节码⽂件包括的代码就是基于JVM的。
4.Java语⾔主要有简单、⾯向对象、分布式、健壮、安全、跨平台、解释执⾏、多线程和动态执⾏的特点。
5.开发Java应⽤程序时,⾸先使⽤任何⽂本编辑器创建和编辑Java源程序,保存源程序⽂件时,⽂件的扩展名为“*.java”。
然后使⽤“javac 程序名.java”命令把源程序编译为字节码⽂件,最后使⽤“java 程序名”将字节码⽂件翻译为计算机可以理解的指令并运⾏。
开发Java⼩程序时,⾸先使⽤任意纯⽂本编辑器编写Java源程序和HTML⽂件,并分别以扩展名“.java”和“.html”保存。
其中,HTML⽂件中应包含调⽤Java字节码⽂件的指令。
HTML⽂件可以使⽤IE浏览器浏览,也可以使⽤JDK提供的Appletviewer⼯具浏览。
三.编程题1.解答//Test.javaclass Person {String name;String address;String telephone;Person(String name1, String address1, String telephone1) {name = name1; address = address1; telephone = telephone1;}String getName() {return name; }String getAddress() {return address; }String getTelephone() {return telephone; }}public class Test {public static void main(String[] args) {Person lily = new Person("lily", "⾦企鹅18号", "158********");System.out.println("姓名:" + lily.getName());System.out.println("地址:" + lily.getAddress());System.out.println("电话号码:" + lily.getTelephone());}}2.解答⽂件TestApplet.java与TestApplet.html都放在d盘根⽬录下。
Java语言程序设计(郑莉)第八章课后习题答案

Java语言程序设计(郑莉)第八章课后习题答案1.进程和线程有何区别,Java是如何实现多线程的。
答:区别:一个程序至少有一个进程,一个进程至少有一个线程;线程的划分尺度小于进程;进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
Java程序一般是继承Thread类或者实现Runnable接口,从而实现多线程。
2.简述线程的生命周期,重点注意线程阻塞的几种情况,以及如何重回就绪状态。
答:线程的声明周期:新建-就绪-(阻塞)-运行--死亡线程阻塞的情况:休眠、进入对象wait池等待、进入对象lock池等待;休眠时间到回到就绪状态;在wait池中获得notify()进入lock池,然后获得锁棋标进入就绪状态。
3.随便选择两个城市作为预选旅游目标。
实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000毫秒以内),哪个先显示完毕,就决定去哪个城市。
分别用Runnable接口和Thread类实现。
(注:两个类,相同一个测试类)//Runnable接口实现的线程runable类publicclarunnableimplementRunnable{privateStringcity;publicr unnable(){}publicrunnable(Stringcity){thi.city=city;}publicvoidrun(){for(inti=0;i<10;i++){Sytem.out.println(city);try{//休眠1000毫秒。
Thread.leep(1000);}catch(InterruptedE某ceptione){e.printStackTrace();}}}}//Thread类实现的线程thread类publicclarunnablee某tendThread{privateStringcity;publicrunnable(){}publicrunnable(Stringcity){thi.city=city;}publicvoidrun(){for(inti=0;i<10;i++){Sytem.out.println(city);try{//休眠1000毫秒。
《Java基础程序设计》_课后习题

第一章思考题】1、简述path 环境变量的作用。
2、请说说你对JVM 的理解。
答案】1、path 环境变量是系统环境变量中的一种,它用于保存一系列可执行文件的路径,每个路径之间以分号分隔。
当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path 环境变量中定义的路径下去寻找这个文件,如果仍未找到,系统会报错。
2、JVM 是Java Virtual Machine 的缩写,全称是Java 虚拟机。
Java 语言的一个非常重要的特性就是跨平台性,而Java 虚拟机是实现这一特性的关键。
不同的操作系统需要使用不同版本的虚拟机,这种方式使得Java语言能够“一次编写,到处运行”。
Java语言编译程序只需生成在Java 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
第二章【思考题】1、请简述& 与&& 的区别。
2、简述break、continue 和return 语句的区别。
【答案】1、&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
当运算符“ &”和“ && ”的右边为表达式时,使用“ &”进行运算,不论左边为true 或者false,右边的表达式都会进行运算。
如果使用" && ”进行运算,当左边为false时,右边的表达式则不会进行运算,因此“ && ”被称作短路与。
2、break 语句:在switch 条件语句和循环语句中都可以使用break 语句。
当它出现在switch 条件语句中时,作用是终止某个case并跳出switch结构。
酒店管理管理系统java课程设计

酒店管理管理系统java课程设计一、课程目标知识目标:1. 学生能够理解酒店管理系统的业务流程和功能需求。
2. 学生能够掌握Java语言面向对象编程的基本概念,包括类、对象、继承、封装和多态。
3. 学生能够运用Java集合框架处理酒店管理系统中数据存储与检索。
4. 学生理解并掌握Java异常处理机制,提高程序的稳定性和可靠性。
5. 学生能够运用Java事件处理机制实现用户界面与酒店管理系统的交互。
技能目标:1. 学生能够独立设计并编写酒店管理系统的功能模块。
2. 学生能够运用集成开发环境(IDE)进行代码编写、调试和优化。
3. 学生能够通过编写代码实现酒店管理系统的模块测试和系统集成。
4. 学生能够运用软件工程方法,编写技术文档,对系统设计进行说明。
情感态度价值观目标:1. 学生通过课程学习,培养对酒店管理行业信息化的认识和兴趣。
2. 学生在团队协作中,学会沟通与交流,提高解决实际问题的能力。
3. 学生在学习过程中,养成积极思考、主动探索的良好习惯,增强自主学习能力。
4. 学生能够认识到编程在酒店管理系统开发中的实际应用,提高职业素养和社会责任感。
二、教学内容1. 酒店管理系统的业务需求分析,涉及客户管理、房间管理、预订管理、入住退房管理等模块。
2. Java面向对象编程基础,包括类与对象、构造方法、访问控制、继承与多态。
- 教材章节:第三章《Java面向对象编程》。
3. Java集合框架的使用,如List、Set、Map等数据结构在酒店管理系统中的应用。
- 教材章节:第五章《Java集合框架》。
4. Java异常处理机制,捕获和处理程序运行时的异常。
- 教材章节:第七章《Java异常处理》。
5. Java事件处理和图形用户界面设计,实现酒店管理系统的交互界面。
- 教材章节:第十章《Java图形用户界面编程》。
6. 数据库连接和SQL语句,实现酒店管理系统中数据的存储和查询。
- 教材章节:第八章《数据库编程》。
Java语言程序设计(郑莉)一到八章课后习题答案

第二章习题答案1.什么是对象、类,它们之间的联系?答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。
对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。
现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。
2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!两者的关系:对象是类的具体实例.。
2.什么是面向对象的程序设计方法?它有那些基本特征?答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。
它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。
它的特征:抽象,封装,继承,多态。
3.在下面的应用中,找出可能用到的对象,对每一个对象,列出可能的状态和行为。
1)模拟航空预订系统交易的程序2)模拟银行交易的程序答:1)航空预订交易:状态:旅客姓名,身份证号,联系号码,出发地址,抵达地址,出发日期。
行为:订票,领票,买票,退票。
2)银行交易:状态:客户姓名,账号,身份证号。
行为:存款,取款,汇款。
4.请解释类属性、实例属性及其区别。
答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。
5.请解释类方法、实例属性及其区别。
答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。
类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。
区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;6.类的访问控制符有哪几种?具体含义及其区别。
答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。
区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。
(完整版)java 试题

一、填空题1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。
2、Java程序的运行环境简称之为JRE_____。
3、编译Java程序需要使用_javac_____命令。
4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。
5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。
二、选择题1、以下选项中,哪些属于JDK工具?(多选)ABCDA、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?C A、机器语言B、汇编语言C、高级语言3、下面哪种类型的文件可以在Java虚拟机中运行?D D、.class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具B、Java解释器C、Java编译器5、5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;三、问答题1、简述Java的特点。
面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、2、简述JRE与JDK的区别JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。
JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#
事件监听器接口类
public void windowOpened(WindowEvent e){} public void windowClosed(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowClosing(WindowEvent e){ System.exit(0); //终止程序的系统命令 } //入口方法中创建应用类的对象 public static void main(String args[]){ new Exa_8_4("Event Handle Demo-2"); } }
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件适配器类
【例】窗口中放置一个文本 区组件与一个按钮组件.两 类组件能够处理鼠标事件: 当鼠标在文本区中按下时, 文本区以红色字体显示鼠标 点击的位置坐标;当鼠标在 按钮中按下时,文本区以蓝 色字体显示鼠标点击的位置 坐标.窗口能够响应关闭操 作.
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件适配器类
由于WindowListener接口定义了七个抽象方法, 因此应用类需要全部实现这些方法.事实上,只 有响应关闭窗口事件的windowClosing()方法对 用户有意义,必须赋予其一定的功能,而其余的 六个方法不需编写任何代码,因此只需给出空的 方法体即可.对于诸如WindowListener这一类定 义有多个抽象方法的接口,在实际应用中只会用 到其中一小部分方法,其实对于这种情况,有更 好的解决方案,这就是事件适配器 .
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件与事件驱动
GUI程序设计归根到底要完成两个层面的任务:
1 首先要完成程序外观界面的设计,其中包括创建窗体,在窗体 3 中添加菜单,工具栏及多种GUI组件,设置各类组件的大小, 位置,颜色等属性.这个层次的工作可以认为是对程序静态特 征的设置,在第七章中已经得到解决. 2 其次要为各种组件对象提供响应与处理不同事件的功能支持, 3 从而使程序具备与用户或外界事物交互的能力,使得程序"活" 了起来.这个层次的工作可以认为是对程序动态特征的处理
Java的事件类 及事件监听者接口类 Java事件适配器类 Java委托事件机制 内部类与匿名类实现事件监听 常用事件
#
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
本章知识难点
1 3
Java的各事件类及其对应监听者接口类
2 3
Java的适配器类
3
内部匿名类
4 3
鼠标事件,键盘事件及其它常用事件
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
Java的事件处理
欲使程序具备某类事件处理的功能,必须在程序原 有功能的基础上,增加至少三个方面的内容:
1 引入java.awt.event包中的所有事件类,方法是在类的定义 3 前面增加语句:import java.awt.event.*;. 2 定义专门用以处理特定事件的类,这些类可以定义为嵌套的 3 内部类,或者定义为与应用类并列的类.与此同时,这些类 必须在自己的类体内定义与特定事件对应的处理方法.
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件与事件驱动
【例】将一个标明【Exit】的命令按钮放置在窗体下方. 点击该按钮,程序将结束运行,退回到系统状态.
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件与事件驱动
import java.awt.*; import java.awt.event.*; //引入事件类 class Exa_8_3 extends Frame{ //在构造方法中将完成监听器的注册工作 public Exa_8_3(String title){ super(title); setLayout(null); Button btnExit=new Button("Exit"); //创建按钮 组件 ExitHandler handler=new ExitHandler(); //创建监 听器对象
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件监听器接口类
【例】使用WindowListener接口,实现关闭窗体的功能. import java.awt.*; import java.awt.event.*; //应用类自身实现WindowListener接口 class Exa_8_4 extends Frame implements WindowListener{ public Exa_8_4(String title){ super(title); addWindowListener(this); //将应用类的实例对象注册为窗口监听器 setSize(300,200); setBackground(Color.BLUE); setVisible(true);}
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
3 为处理特定事件的类定义一些实例对象,这些对象被称为特定 事件的监听器;然后通过addXXXListener()方法(此处的XXX代 表系统定义的特定事件类别),将事件监听器作为方法的参数, 注册给产生特定事件的那些组件.产生特定事件的组件,可能 为窗体容器对象,也可能为非容器的GUI对象,它们被称为事件 源.严格来讲,各类事件是由用户或计算机系统部件与事件源 组件交互作用时产生的,这些事件往往被封装成各类消息对象, 传递给事件监听器对象,监听器根据事件的类型,调用所属 类中定义的相应事件处理方法,最终完成对事件的响应.
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
Java的事件类
编写事件处理功能的程序时,必须导入语句 "import java.awt.event.*;". 根据事件的不同特征,将Java事件类分为低级事件 (Low—level Event)与语义事件(Semantic Event) .
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件与事件驱动
btnExit.addActionListener(handler); //将监听器注册 给按钮对象 btnExit.setBounds(80,100,80,50); add(btnExit); setSize(240,200); setVisible(true); } //主方法中生成应用类的实例对象 public static void main(String args[]){ new Exa_8_3("Event-Handling Demo-1"); } }
Java的事件处理机制 第八章 Java的事件处理机制
目 录
重点与难点点拨 Java的事件处理 Java的事件处理 Java委托事件模型 Java委托事件模型 常见事件 经典练习题
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
本章知识重点
1 3 2 3 3 4 3 5 3
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件与事件驱动
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件与事件驱动
图形用户界面的每个可能产生事件的组件被称为事件源,不 同事件源上发生的事件的种类不同.例如,Button对象引 发ActionEvent类代表的事件ACTION-PERFORMED; Checkbox对象等作为事件源可能引发ItemEvent类代表的 事件ITEM-STATE-CHANGES. 希望事件源上发生的事件被程序处理,就要把事件源注册给能 够处理该事件源上那种类型事件的监听者.例如Button对象把 自己注册给实现了ActionListener接口的对象,因为只有这种 对象能够处理Button对象上发生的ActionEvent类的事件,监听 者可以是包容事件源的容器,也可以是另外的对象.具体的注 册方法是通过调用事件源本身的相关方法,例如调用Button类 自身的addActionListener( )方法,并以监听者对象作为实际 参数来实现的
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件监听器接口类
凡是要处理ActionEvent事件的类都必须实现 ActionListener接口,实现ActionListener接口 就必须重载上述的actionPerformed()方法, 在重载的方法体中,通常需要调用参数e的有关 方法.例如调用e.getSource查明产生 ActionEvent事件的事件源,然后再采取相应的 措施处理该事件.
立体化教材计算机系列 —《Java程序设计》 程序设计》 《 程序设计
#
事件监听器接口类
比较特殊的情况有两个:一个是InputEvent类, 因为它不对应具体的事件,所以没有监听者与之 相对应;另一个是MouseEvent类,它有两个监听 者接口与之相对应,一个是MouseListener接口 (其中的方法可以响应MOUSE_CLICKED, MOUSE_ENTERED,MOUSE_EXITED,MOUSE_PRESSED, MOUSE_RELEASED五个具体事件),另一个是 MouseMotionListener接口(其中的方法可以响 应MOUSE_DRAGGED,MOUSE_MOVED的两个事件).