- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
鼠标位置跟踪程序设计
JAVA程序设计------
鼠标位置跟踪程序
学院: ____________________
班级:_____________________
姓名:_____________________
学号:_____________________
程序设计要求:
用JAVA程序设计语言编写程序跟踪用户的鼠标,并时刻把鼠标位置显示出来,并响应鼠标单击和键盘事件,从鼠标单击的位置开始横向显示用户键入的字符,若鼠标双击则清空屏幕。
程序设计过程:
我选择这道题目后,首先做的事是理清思路,把题目的要求搞清,在纸上画出一个大概的图,也就是程序的雏形,以后编程过程中,就以这为指导,直到程序完成。
接着,我开始考虑编程时可能要用到的一些组件。要跟踪用户的鼠标,并时刻把鼠标位置显示出来,要用到标签、画布等组件。画布是一个用来画图的矩形背景组件,在画布里可以响应鼠标和键盘事件。要完成响应鼠标单击和键盘事件,必须用到键盘事件(KeyEvent)和鼠标事件(MouseEvent)。MouseEvent类和KeyEvent 类都是InputEvent类的子类, InputEvent类不包含任何具体的事件。
然后,开始编程,我首先创建画布对象。Canvas的构造函数没有参数,所以使用简单的语句就可以创建一个画布对象。在创建了画布对象之后,我接着调用setSize()方法确定这个画布的大小,否则我们在运行界面中将看不到这个画布。在程序中我是这样做的:
程序的前3行分别加载了Java类库中的3个包的类: java.applet.*,java.awt.* ,和java.awt.event.*。其中Java Applet程序,必须加载Java.applet包;使用图形界面,必须加载java.awt包;使用图形界面的事件处理,必须加载java.awt.event包。
cd=new CanvasDraw(new Dimension(180,200),this);
编程中,我定义了CanvasDraw类,它是系统类Canvas类的子类,其中currentX和currentY是当前鼠标的位置。定义一个StringBuffer对象sb用来保存用户点击键盘所输入的字符.
对于鼠标事件,我用到了MouseEvent事件的监听者MouseListener和MouseMotionListener中的几个具体鼠标事件.
addKeyListener(this);//添加键盘事件的监听
addMouseListener(new MouseAdpt(this));//添加鼠标事件的监听
其他的具体方法和所用到的语句在程序源代码中有详细说明。
通过这次JAVA程序设计,我对JAVA这种面向对象编程的语言有了更深一步的了解。它同其他高级语言一样,语句是构成JAVA程序的基本单位之一。类和方法中的所有语句应该用思想来规划,JAVA是由类定义组成的,每个类内部包裹类的静态属性声明和类的方法两部分。所以除了静态属性声明语句之外。其他的执行具体操作的语句只能存在于类方法的之中,而不可能单独跳出方法孤立地直接书写在类中。
程序源代码:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class usemouse extends Applet
{
CanvasDraw cd;//用户定义的系统类Canvas类的子类,
public void init()
{
cd=new CanvasDraw(new Dimension(180,200),this);//创建一个画布对象
cd.setBackground(Color.white);//设置画布的颜色,可以更改为别的颜色
add(cd);//把画布添加到图形界面里去
cd.requestFocus();
}
}
class CanvasDraw extends Canvas implements KeyListener
{
Applet m_Parent;
// 定义的Applet对象m_Parent是CanvasDraw包含对象的Applet的对象的引用
int currentX=0,currentY=0,startX=0,startY=0;
//定义当前鼠标的坐标和默认鼠标的坐标
StringBuffer sb=new StringBuffer();//定义StringBuffer对象sb保存点击的字符
CanvasDraw(Dimension d,Applet p)
{
m_Parent=p;
setSize(d);//设置画布的大小
setBackground(Color.pink);//设
您可能关注的文档
- 第六章 Internet协议及其技术.ppt
- 高考后期复习的几点建议.doc
- 中国半夏产品市场产销调研及盈利空间预测报告(2013-2017).doc
- 数学分析中某些不等式的证明.pdf
- 会计制度设计试卷及标准答案.doc
- 商院11年硕士考试成绩.doc
- 小三数学期末备考卷.doc
- 小学二年级下册数学期终试题.doc
- 九年级化学期终调研试卷.doc
- 高三物理--力学测试题(一).doc
- 2025年智能快递驿站行业政策与市场机遇报告.docx
- 2025年校园安全防范中新能源电动巡逻车采购可行性分析.docx
- 2025年智能垃圾分类智慧监管平台在智慧旅游区的应用前景研究.docx
- 2025年智能家居报告:人工智能伦理风险的法律责任与用户隐私保护.docx
- 2025年智能垃圾分类与垃圾分类信息化管理结合的可行性研究.docx
- 2025年智慧社区远程医疗诊断中心在基层医疗机构运营管理中的应用报告.docx
- 2025年智慧社区:老年活动广场智能化升级研究.docx
- 2025年智能社区新能源电动巡逻车市场应用前景分析报告.docx
- 2025年智能垃圾分类智慧监管平台在垃圾分类回收与处理中的智能化改造路径.docx
- 2025年本土半导体材料产业链国产化战略布局报告.docx
文档评论(0)