//This is code to trace the mouse movement...
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
/*
这个程序基本原理是:Ristriction类通过鼠标动作记录方法实现记录鼠标运动的XY坐标。并在回放的时候自动恢复指定
路径 符彬 [email protected]
*/
class MouseTracer extends Thread implements ActionListener
{
JFrame frm;
Ristriction ris;
JButton start,stop,show;
Vector store;
JSlider jsb;
JLabel lab;
JToggleButton tog;
Panel p1,p2;
JProgressBar progress;
public MouseTracer()
{
frm=new JFrame("Mouse Tracer By Sah Anandsagar.([email protected]);)");
frm.setDefaultCloseOperation(3);
start=new JButton("Start the tracing");//{
UIManager.LookAndFeelInfo[] info = UIManager.getInstalledLookAndFeels();
start.setToolTipText("Click to start tracing");
stop=new JButton("Stop the tracing");
stop.setVerticalAlignment(SwingConstants.BOTTOM);
stop.setIconTextGap(80);
int minimum = 0;
int maximum = 100;
progress = new JProgressBar(minimum, maximum);
// Overlay a string showing the percentage done
progress.setStringPainted(true);
show=new JButton("<html>"+"<i>"+"Show The </i><b><font size=5>Tracing"+"</b></html>");
jsb=new JSlider(1,100,50);
jsb.setInverted(true);
lab=new JLabel("Change the Speed of Motion");
lab.setTransferHandler(new TransferHandler("text"));
tog=new JToggleButton("Ristrict the Mouse");
frm.setLayout(new FlowLayout());
frm.setAlwaysOnTop(true);
stop.setEnabled(false);
show.setEnabled(false);
jsb.setEnabled(false);
lab.setEnabled(false);
tog.setForeground(new Color(0,150,0));
ris=new Ristriction(frm);
ris.start();
ris.suspend();
p1=new Panel();
p1.add(start);
p1.add(show);
p1.add(stop);
p1.add(tog);
p1.add(lab);
p1.add(jsb);
p1.add(progress);
progress.setValue(0);
p1.setLayout(new GridLayout(3,1,2,2));
frm.getContentPane().add(p1);
//frm.setSize(600,270);
frm.pack();
frm.setVisible(true);
store=new Vector(10,5);
start.addActionListener(this);
stop.addActionListener(this);
show.addActionListener(this);
tog.addActionListener(this);
start();
suspend();
}
public void run()
{
while(true)
{
try{
Thread.sleep(10);
}catch(Exception ee){}
store.addElement((MouseInfo.getPointerInfo().getLocation()));
}
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getActionCommand().startsWith("Start"))
{
progress.setValue(0);
store.removeAllElements();
start.setEnabled(false);
stop.setEnabled(true);
show.setEnabled(false);
jsb.setEnabled(false);
lab.setEnabled(false);
resume();
}
else if(ae.getActionCommand().startsWith("Stop"))
{
start.setEnabled(true);
stop.setEnabled(false);
show.setEnabled(true);
jsb.setEnabled(true);
lab.setEnabled(true);
suspend();
}
else if(ae.getActionCommand().startsWith("<html>"))
{
start.setEnabled(false);
stop.setEnabled(false);
suspend();
ShowMouseMove smm=new ShowMouseMove(this);
smm.start();
}
else if(ae.getSource()==tog)
{
if(tog.isSelected())
{
tog.setForeground(new Color(200,0,0));
tog.setText("Resum the Mouse");
ris.resume();
}
else
{
tog.setForeground(new Color(0,150,0));
tog.setText("Ristrict the Mouse");
ris.suspend();
}
}
}
public static void main(String ag[])
{
new MouseTracer();
}
}
//hey comment or remove this line and dont forget to mail me how u like :D
class ShowMouseMove extends Thread
{
MouseTracer mt;
public ShowMouseMove(MouseTracer mt)
{
super();
this.mt=mt;
}
public void run()
{
mt.start.setEnabled(false);
mt.stop.setEnabled(false);
mt.show.setEnabled(false);
mt.jsb.setEnabled(false);
mt.lab.setEnabled(false);
Enumeration e=mt.store.elements();
int size=mt.store.size();
int counter=0;
mt.progress.setMaximum(size);
while(e.hasMoreElements())
{
try{
mt.progress.setValue(counter);
counter++;
Thread.sleep(mt.jsb.getValue()/3);
Robot r=new Robot();
Point p=(Point)e.nextElement();
r.mouseMove((int)p.getX(),(int)p.getY());
}catch(Exception ee){}
}
mt.progress.setValue(size);
mt.start.setEnabled(true);
mt.stop.setEnabled(false);
mt.show.setEnabled(true);
mt.jsb.setEnabled(true);
mt.lab.setEnabled(true);
}
}
class Ristriction extends Thread
{
JFrame frm;
int x3,y3;
public Ristriction(JFrame frm)
{
this.frm=frm;
}
public void run()
{
while(true)
{
try{
int x1=frm.getLocation().x;
int y1=frm.getLocation().y;
int x2=frm.getWidth();
int y2=frm.getHeight();
int x=(int)MouseInfo.getPointerInfo().getLocation().getX();
int y=(int)MouseInfo.getPointerInfo().getLocation().getY();
if(x>=x1 && x<=(x1+x2) && y>=y1 && y<=(y1+y2))
{ x3=x;
y3=y;
}// System.out.println("IN");
else
{
Robot r=new Robot();
r.mouseMove(x3-5,y3-5);
}
Thread.sleep(2);
}catch(Exception tt){}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于java的开发源码-实现跟踪鼠标运行坐标的源码.zip
共6个文件
class:3个
project:1个
java:1个
0 下载量 142 浏览量
2024-02-19
23:28:36
上传
评论
收藏 8KB ZIP 举报
温馨提示
sora 基于java的开发源码-实现跟踪鼠标运行坐标的源码.zip 基于java的开发源码-实现跟踪鼠标运行坐标的源码.zip 基于java的开发源码-实现跟踪鼠标运行坐标的源码.zip 基于java的开发源码-实现跟踪鼠标运行坐标的源码.zip 基于java的开发源码-实现跟踪鼠标运行坐标的源码.zip 基于java的开发源码-实现跟踪鼠标运行坐标的源码.zip 基于java的开发源码-实现跟踪鼠标运行坐标的源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于java的开发源码-实现跟踪鼠标运行坐标的源码.zip (6个子文件)
codefans.net
Mouse Tracer
.classpath 226B
MouseTracer.java 5KB
Mouse Tracer
Ristriction.class 1KB
ShowMouseMove.class 2KB
.project 388B
MouseTracer.class 5KB
共 6 条
- 1
资源评论
快乐无限出发
- 粉丝: 1135
- 资源: 7274
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- web期末大作业-HTML+CSS+JS仿王者荣耀官网网站HTML5项目实训源码.zip
- 帕鲁ppt备份只是为了方便
- 3.15 设计vi,产生一个0.0到10.0的随机数,与10.0相乘,然后通过一个字vi将积与100相加后开方
- 3.14 设计vi,比较两个数,如果其中一个数大于另一个数,则点亮LED指示灯
- 08最短路径_Floyd.c
- 02二叉排序树_BinarySortTree.c
- python字符串逆序方法.md
- qt软件开发+代码+注释+自我学习+windows软件开发+图像分割
- python二叉树的遍历.md
- 1cdd0859202f67f8bf6945fd9559ea102d27d11b
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功