java程序设计基础第7章java中的鼠标事件与键盘事

java程序设计基础第7章java中的鼠标事件与键盘事

ID:36203901

大小:241.00 KB

页数:39页

时间:2019-05-07

java程序设计基础第7章java中的鼠标事件与键盘事_第1页
java程序设计基础第7章java中的鼠标事件与键盘事_第2页
java程序设计基础第7章java中的鼠标事件与键盘事_第3页
java程序设计基础第7章java中的鼠标事件与键盘事_第4页
java程序设计基础第7章java中的鼠标事件与键盘事_第5页
资源描述:

《java程序设计基础第7章java中的鼠标事件与键盘事》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章Java中的鼠标事件与键盘事件7.1鼠标事件7.2处理鼠标输入7.3键盘7.1鼠标事件7.1.1MouseListener接口鼠标监听接口(MouseListener)用于监听发生在一个GUI构件上的鼠标事件,包括鼠标的按下、释放、单击、进入和退出。Java同时也提供了与该接口相对应的称作事件剪裁器的抽象类MouseAdapter。在一个实现了MouseListener接口或继承了MouseAdapter类的类中可以定义事件的处理方法,而该类的一个对象则应该用addMouseListener()方法注册到发生鼠标事件的构件上。Mo

2、useListener接口包含的方法如下。(1)publicvoidmouseClicked(MouseEvent节e)当在一个构件上单击鼠标时被调用。(2)publicvoidmousePressed(MouseEvente)当在一个构件上按下鼠标按钮时被调用。(3)publicvoidmouseReleased(MouseEvente)当在一个构件上释放鼠标按钮时被调用。(4)publicvoidmouseEntered(MouseEvente)当鼠标指针进入构件时被调用。(5)publicvoidmouseExited(Mouse

3、Evente)当鼠标指针退出构件时被调用。7.1.2MouseMoutionListener接口鼠标移动监听接口(MouseMoutionListener)用于监听发生在一个GUI构件上的鼠标移动事件,包括鼠标的移动和拖动,其使用方法与MouseListener接口相同。它所包含的方法如下。(1)publicvoidmouseDragged(MouseEvente)当在一个构件上按下鼠标按钮并且拖动鼠标时该方法被调用。鼠标拖动事件持续到鼠标按钮被释放时为止,而不管鼠标的位置是否超出了原来构件的边界。(2)publicvoidmouseM

4、oved(MouseEvente)当鼠标指针移动时该方法被调用,注意此时鼠标的按钮并没有被按下。在MouseListener接口和MouseMotionListener接口中的所有方法中都有一个参数,它是鼠标事件类MouseEvent的一个对象,当鼠标事件发生时,系统自动生成一个该类的对象,在鼠标事件的处理方法中,经常需在调用该类的方法来获得关于事件的一些信息。MouseEvent类的常用方法如下。(1)publicintgetX()返回当前鼠标指针位置的x坐标值。(2)publicintgetY()返回当前鼠标指针位置的y坐标值。(3

5、)publicintgetClickCount()返回事件中鼠标的点击次数。(4)publicStringparamString()返回一个标识该事件的字符串。7.2处理鼠标输入例7-1:设计一个处理鼠标输入的程序,使得在一个画布构件上拖动鼠标时能画出一段曲线。设计思路:我们假定每当按下鼠标按钮时开始画线,然后拖动鼠标继续画线过程,释放鼠标时表示一段曲线的画线过程结束,程序允许在画布构件上画出多段曲线。一段曲线实际上由许多小的直线段构成,因此我们只需记录按下鼠标按钮时的坐标点、拖动鼠标时所产生的所有坐标点及释放鼠标时的坐标点,然后在这些

6、坐标点之间顺序地画出直线段即连成一段曲线。为了保存这些坐标点,我们使用了一个Polygon对象poly,它是由Java系统提供的一个类,可以保存多边形的各个顶点坐标并可以动态地加入新的坐标点。在各段不同的曲线之间加入一个特殊的标志点(-1,-1)以便在paint()方法中画线时确定一条新的曲线段的起点。所有坐标点的记录及保存都是在鼠标事件接口的mousePressed()方法、mouseReleased()方法及鼠标移动事件接口中的mouseDragged()方法中完成的。在paint()方法中根据所记录的坐标点画出各个曲线段。impo

7、rtjava.awt.event.*;importjava.awt.*;publicclassmouseextendsFrameimplementsActionListener{Buttonbutn=newButton("手画线状态");canvas1can=newcanvas1();publicstaticvoidmain(String[]args){newmouse();}mouse(){Framewin1=newFrame();win1.setLayout(newBorderLayout(0,0));win1.addWindowL

8、istener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});win1.add(butn,Borde

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。