java鼠标移动_如何使用java在整个屏幕上平滑移动鼠标?

首先,让我们写一个空方法,其中参数与您在问题中定义的一样.

public void mouseGlide(int x1, int y1, int x2, int y2, int t, int n) {

}

接下来,让我们创建一个Robot对象,并计算3条信息,这些信息将有助于您将来的计算.不要忘记从实例化Robot中捕获异常.

Robot r = new Robot();

double dx = (x2 - x1) / ((double) n);

double dy = (y2 - y1) / ((double) n);

double dt = t / ((double) n);

dx表示每次滑动时鼠标x坐标的差异.基本上它是总移动距离分为n个步骤.与yy相同,除了y坐标. dt是总滑行时间,分为n个步骤.

最后,构建一个执行n次的循环,每次将鼠标移近最终位置(采用(dx,dy)步骤).在每次执行期间使线程休眠dt毫秒.你的n越大,滑行越平滑.

最后结果:

public void mouseGlide(int x1, int y1, int x2, int y2, int t, int n) {

try {

Robot r = new Robot();

double dx = (x2 - x1) / ((double) n);

double dy = (y2 - y1) / ((double) n);

double dt = t / ((double) n);

for (int step = 1; step <= n; step++) {

Thread.sleep((int) dt);

r.mouseMove((int) (x1 + dx * step), (int) (y1 + dy * step));

}

} catch (AWTException e) {

e.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值