java练习拖拽和移动鼠标.doc

上传人:sk****8 文档编号:4219290 上传时间:2019-10-05 格式:DOC 页数:4 大小:40.50KB
下载 相关 举报
java练习拖拽和移动鼠标.doc_第1页
第1页 / 共4页
java练习拖拽和移动鼠标.doc_第2页
第2页 / 共4页
java练习拖拽和移动鼠标.doc_第3页
第3页 / 共4页
java练习拖拽和移动鼠标.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、练习 32 拖拽和移动鼠标 本例知识点 一句话讲解 使用 Point 类 记录当前光标位置新学 知识 使用 Graphics 类 显示屏幕 使用 int 类型 记录鼠标点击次数已学 知识 使用 Event 类 处理鼠标事件 一、练习具体要求 本练习制作拖拽和移动鼠标的程序,运行效果如图 32-1 所示。执行本练习实例后,将 创建一个面板,当用户拖动鼠标时,能够在屏幕上画直线,并且面板左上方可以显示点击 鼠标的坐标位置。本实例的知识点有:Point 类,mouseDown 类,mouseUp 类的应用。 二、程序及注释 (1)编程思路:本例因为要实现拖拽和移动鼠标的程序,所以首先要用 Point

2、 类定义 一个数组 PointMaxMarks,用来存放点击鼠标时光标所在位置的坐标。然后,因为要实 现拖拽和移动鼠标的测试程序,所以要相应鼠标事件。函数 public boolean mouseDown(Event evt,int x,int y)响应按下鼠标按键事件;函数 public boolean mouseUp(Event evt,int x,int y)响应松开鼠标按键事件。在上述 public boolean mouseDown(Event evt,int x,int y)函数的内部,通过 StartPoint=new Point(x,y)语句 生成新的 Point 类的对象,然

3、后通过 repaint()函数刷新屏幕;在上述 public boolean mouseUp(Event evt,int x,int y)函数内部,通过语句 hSum +=1 来统计鼠标点击的次数, 最后通过 repaint()函数刷新屏幕。最后,因为要同时显示鼠标的坐标位置,所以在显示 屏幕内容的函数中进行处理。这是在函数 public void paint(Graphics g)中实现的。 (2) 程序实现及注释: /Mousetest2.java /主要功能是当移动鼠标时,显示鼠标的坐标位置, /当拖拽鼠标时,画一个直线。 import java.awt.Graphics; import

4、 java.awt.Point; import java.awt.Event; import java.applet.Applet; import java.awt.Color; public class Mousetest2 extends Applet final int MaxMarks=40; int CurMarks=0; Point MarkStarts=new PointMaxMarks; Point MarkEnds=new PointMaxMarks; Point StartPoint,CurPoint; String CurMessage=“; /按下鼠标按键时调用的方法。

5、 public boolean mouseDown(Event evt,int x,int y) if(CurMarksMaxMarks) StartPoint=new Point(x,y); return true; /松开鼠标按键时调用的方法。 public boolean mouseUp(Event evt,int x,int y) if(CurMarksMaxMarks) MarkStartsCurMarks=StartPoint; MarkEndsCurMarks=CurPoint; CurMarks+; StartPoint=null; CurPoint=null; repaint

6、(); return true; /当拖拽鼠标时调用的方法。 public boolean mouseDrag(Event evt,int x,int y) if(CurMarksMaxMarks) CurPoint=new Point(x,y); repaint(); return true; /当移动鼠标时调用的方法。 public boolean mouseMove(Event evt,int x,int y) CurMessage=“鼠标的坐标位置为(“+x+“,“+y+“ )“; repaint(); return true; public void paint(Graphics g

7、) int x1,y1,x2,y2; g.drawString(CurMessage,10,10); for(int i=0;iCurMarks;i+) x1=MarkStartsi.x; y1=MarkStartsi.y; x2=MarkEndsi.x; y2=MarkEndsi.y; g.setColor(Color.blue); g.drawLine(x1,y1,x2,y2); if(StartPoint!=null) x1=StartPoint.x; y1=StartPoint.y; x2=CurPoint.x; y2=CurPoint.y; g.setColor(Color.blue

8、); g.drawLine(x1,y1,x2,y2); 三、练习效果(如图 32-1 所示) 本实例代码编写完毕,分别存盘为:C: j2sdk1.4.0javaprograms Mousetest2.java 和 Mousetest1.java。打开计算机的命令提示符窗口,然后在命令提示符窗口中,定位到 javaprograms 目录,输入 javac Mousetest2.java 来编译程序,最后将程序加载到网页上。 在 javaprograms 文件夹下新建一个记事本文件,内容为 拖拽和移动鼠标的测试程序 ,然后保存为 Mousetest2.html 的网页文件。 本例制作完毕,用浏览器打开 Mousetest2.html 文件便可以看到制作效果。 图 32-1 练习效果 四、总结提高 通过制作拖拽和移动鼠标的实例,运用了 Java2 中的界面技术和消息响应技术。通过 界面技术,制作出直线效果和鼠标的坐标位置。通过消息响应技术,可以响应用户对鼠标 的操作,实现人机交互。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 自然科学

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。