java 获取鼠标位置,鼠标移动,模拟鼠标左右键

java编程实现使用鼠标移动一个圆 移动圆 阅读详情

最近无聊自己写界面玩,发现robot类操作鼠标挺好用的。对robot类更加熟一点了。记一下。

 

获取鼠标位置


		Point p  = MouseInfo.getPointerInfo().getLocation();
		System.out.println(p.getX() + "---" +p.getY());

 

鼠标移动

// 鼠标移动
	public static void change(int type, int x, int y){
		Point p = MouseInfo.getPointerInfo().getLocation();
		int width = (int) p.getX() + x;
		int heigh = (int) p.getY() + y;
		if(type == 0) {
			width = x;
			heigh = y;
		}
		Robot robot;
		try {
			robot = new Robot();
			robot.mouseMove(width,heigh);
		} catch (AWTException e) {
			e.printStackTrace();
		}
	}

这里入参type为0时,xy直接为入参本身。

 

模拟鼠标左右键

// 模拟鼠标左键右键
	public static void onclickSB(String lr){
		Robot robot = null;
		try {
		    robot = new Robot();
		} catch (AWTException e) {
		    e.printStackTrace();
		}

		if(lr.equals("right")) {
			robot.mousePress(InputEvent.BUTTON3_MASK);
			robot.mouseRelease(InputEvent.BUTTON3_MASK);
		} else {
			robot.mousePress(InputEvent.BUTTON1_MASK);
			robot.mouseRelease(InputEvent.BUTTON1_MASK);
		}
	}

 

假装没看见自己的函数命名(≖ᴗ≖)✧。如果鼠标移动和鼠标点击同时配合使用,需要加进程暂停,不然,点击和移动的事件执行的顺序会紊乱。所以,需要比较受顺序影响的地方,添加暂停代码,在不影响顺序和体验的前提下,比较适中的数值200毫秒。具体因人而异。


	
	// 进程暂停
	public static void stop(int s){
        try {
        	Thread.sleep(s);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
	}

 

 

实例:


	
	public static void clear(){
		Point p  = MouseInfo.getPointerInfo().getLocation();
//		System.out.println(p.getX() + "---" +p.getY());
		change(0,x, y);
		onclickSB("left");
		change(0,x-40, y-100);
		onclickSB("left");
		change(0,(int)p.getX(), (int)p.getY());
		stop(200);
	}

这是其中一段自己写的清除eclipse控制台日志中点击清理键的鼠标移动,获取鼠标当前位置,改变鼠标位置为xy,点击鼠标左键,改变鼠标位置为已经点击的左上角,点击鼠标左键,改变位置为最初位置。停顿200毫秒。后续我又其他事件,所以需要停顿。

ps:我写的是在控制台打印10行文本内容,有上下两个按钮,上是上一页,下是下一页,一个输入框,可输入页码或者,想查询的文字内容,自动跳行,点击下自动跳行。控制鼠标是为了清理上一次打印的内容,按ctrl+1选中当前鼠标位置为清理日志按钮坐标。

Matlab探寻(一):控制鼠标和模拟键盘(java.awt.Robot) Mtalab真的是很强大,不过它自身不能实现鼠标单击和按下键盘等事件的模拟。本文通过调用java.awt.Robot类来实现以上功能添加引用  首先在Matlab中添加以下代码,引用java.awt.Robot类,并实例化 import java.awt.Robot; import java.awt.event.*;robot = java.awt.Robot;控 阅读详情

相关推荐

Java中模拟鼠标和键盘输入

从jdk1.3开始,提供了一个Robot类,在java.awt.*包下面。这个类在jdk中描述如下:此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot 的主要目的是便于 Java 平台实现自动测试。 使用该类生成输入事件与将事件发送到 AWT 事件队列或 AWT 组件的区别在于:事件是在平台的本机输入队列中生成的。例如,Robot.mouse

于明远的专栏 1万+

如何用Java的Robot完成模拟鼠标移动和键盘输入(可应用刷网课)

如何用Java的Robot完成模拟鼠标移动和键盘输入(可应用刷网课)

花与树 7961

华为C语言笔试题(附答案)

华为C语言笔试题(附答案)     1、局部变量能否和全局变量重名?   答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: "   局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。  

峰云四起 3035

java控制鼠标移动

java控制鼠标定时移动

leese233的博客 630

echarts如何实现3D饼图(环形图)?

自定义修改3D饼图的宽高和legend

i-cat的博客 1万+

HFSS实战(三)——过孔via TDR仿真

在上一讲中,主要是通过观察S参数确定via的优化是否达到目标。但S参数只能看到一个整体的结果,并不知道via真实的阻抗是多少?想要单独确定via的阻抗,最好还是通过TDR的仿真。

luohuo9844的博客 1万+

【java】获取鼠标当前位置代码

附:文件下载(链接:https://pan.baidu.com/s/1voPCpvPk5fvjgYXENqPZlw?System.out.println("鼠标当前位置:(" + x + ", " + y + ")");//MouseInfo提供了获取鼠标信息的方法,例如鼠标指针的位置和鼠标按钮的数量。//创建对象,创建FileWriter对象,创建MouseXY.txt文件。//调用getLocation方法,获取鼠标位置。//创建变量,获取X轴的位置。//创建变量,获取Y轴的位置。

Voidtheyi的博客 2740

TI毫米波雷达人体生命体征(呼吸、心跳)信号提取算法(IWR6843ISK+DCA1000EVM)

本篇内容介绍的算法主要为传统的提取算法,但可实现在1m内呈现良好的检测效果,能够提取出非常可观的呼吸和心跳波形,但在超出1m的距离后便不适用这个算法了。远距离检测呼吸和心跳始终是这个领域一个很大的挑战。要实现远距离检测可在提取相位信号、分离呼吸和心跳信号上进行改进处理,例如线性解调提取相位、改进的VMD分离呼吸和心跳算法。

m0_61934621的博客 3万+

Java.awt.Robot 控制鼠标移动、键盘按键等输入操作

Java提供的Robot类,实现了控制鼠标、键盘的操作,通过它,你就可以使用代码来控制鼠标移动、鼠标按键、键盘按键等各种各样你希望电脑做的操作,可以用来自动化测试等目的。 是不是很酷~~~ 导入的包有: import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; 使用前

清澈 2万+

pi/4QPSK调制解调原理

文章目录1. π/4\pi/4π/4QPSK 信号的调制原理2. 匹配滤波器与成形滤波器 1. π/4\pi/4π/4QPSK 信号的调制原理 减小相位突变量的QPSK由偏置键控QPSK(OK-QPSK)和 π/4\pi/4π/4偏置的QPSK( π/4\pi/4π/4QPSK)。由于 π/4\pi/4π/4QPSK是用差分相位编码产生的(因此也叫做 π/4\pi/4π/4DQPSK),能有效地进行差分解调和鉴频器解调,在一些不易提取相干载波的场合很有用。 在常规的QPSK中,输入数据经过串/并变换后,分成

gemengxia的博客 2万+

深度拆解 ‘High-Frequency Trading’ (HFT) 系统:解析如何在 100 纳秒内完成从网卡到 C++ 策略的响应

在100纳秒内完成从网卡到C++策略的响应,这是一项对技术栈每一个层面都进行极限优化的系统工程。它要求我们深入理解计算机体系结构、操作系统、网络协议和C++语言的底层机制。从物理距离的极致缩短,到高性能网卡和内核旁路技术,再到C++代码中每一个字节、每一个CPU周期的精打细算,HFT系统展现了人类对计算速度的永恒追求。这项技术不仅仅应用于金融交易,其背后的低延迟理念和实现方法,如DPDK、无锁编程、硬件加速等,正在逐渐渗透到其他对延迟敏感的领域,例如电信网络、边缘计算和工业自动化。

weixin_41455464的博客 1039

Java模拟鼠标

Java模拟鼠标前言一、获取坐标二、鼠标点击模拟1.模拟移动2.模拟点击2.读入数据总结 前言 炉石更新新版收益系统,心血来潮,写一个简陋的脚本在战棋挂机。不选择在天体烧绳是mmr没到互投区,会被举报。 Java模拟鼠标比较简单,引入Java的awt包,使用其中的robot类即可实现模拟。 注: 这种模拟鼠标点击并不是后台模拟,而是占用你的鼠标进程。水平有限,脚本是定死坐标点击,假如我移动了炉石窗口,则会导致脚本失效。 PS:该脚本毫无技术含量 提示:以下是本篇文章正文内容,下面案例可供参考 一、获取坐

graveyard233的博客 4197

[网络安全提高篇] 一二〇.恶意软件动态分析经典沙箱Cape批量提取动态API特征

这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文详细介绍动态分析沙箱Cape的安装过程,其是一个开源的自动恶意软件分析系统,通过自动运行和分析恶意软件,全面分析和提取恶意软件的关键特征。然而,当样本数量增加时,单个样本分析会降低效率。这篇文章将讲解如何实现Cape沙箱的批量分析,通过调用Python脚本文件来实施批量处理,并将分析结果存储在指定位置,最后补充submit.py的参数及Python调用方式。基础性文章,希望对您有帮助!

杨秀璋的专栏 4123

使用Java模拟鼠标重复点击

今天闲来无事,玩了一会小游戏发现游戏中有许多需要鼠标重复点击的操作再加上以前也听说过java可以模拟鼠标点击,所以研究了一个小时左右,自己写了一个小程序。思路比较清晰,即先获取当前鼠标点击的坐标,然后再进行模拟鼠标点击。获取鼠标点击坐标在网上有许多是关于swing可视化界面的,这个地方花了比较长的时间。模拟鼠标点击自然就是使用robot。前台界面用的swing,逻辑方面使用了线程与定时器。不依靠可视

zhengyikuangge的博客 2万+

探索gtwr of mgtwr in python

代码】探索gtwr of GWmodel in python。

m0_46268055的博客 3388

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

使用java语言实现压枪鼠标宏(坐标数据获取与模拟鼠标轨迹)

罗技鼠标宏的大名想必大家都知道,通过lua语言脚本编程可以实现一系列鼠标操作。对于某些游戏亦可以通过lua编程来写出完美的压枪轨迹,最终让子弹打到一个点上,达到正常人无法达到的水平。本人也使用过鼠标宏,虽然知道鼠标宏是按一定像素坐标进行毫秒级别的移动来达到游戏中压枪的目的。但是一直惊叹到底该如何实现获取这些准确的数据,于是就有了这篇文章。

weixin_49295523的博客 3198

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

vbs模拟键盘和鼠标输入

在很多时候下,我们通常需要脚本帮助我们测试一些代码,或者用脚本替代一些重复化的工作。然而用python或者java甚至C++,都太耗时间了,写的脚本很长,还需要调试。这导致我们需要用一种更加简便的编程方式来模拟一些键盘或鼠标的输入。 VBS模拟键盘的输入(大全) Set objShell = CreateObject(“Wscript.Shell”) do WScript.Sleep 500 objShell.SendKeys “{F2}” loop 这里是一个简单的例子,创建对象后使用SendKeys向目

Platonic_hacker的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java robot机器人鼠标控制,获取鼠标的屏幕坐标工具类

1.首先在电脑桌面右键》》显示设置里查看 缩放与布局比例是不是100%,如果不是,请调为100%,不然会影响获取屏幕坐标的准确性,(获取的坐标应该乘以缩放比例)。 java 示例代码类 import java.awt.*; public class MousePointer { public static void main(String[] args) { getPointInfo(); } private static void ge.

洛阳泰山的博客 5247

java Robot 类模拟键盘按键和鼠标点击(全局模拟)

java Robot 类模拟键盘按键和鼠标点击(全局模拟)

xingjiarong的专栏 1万+

java实现模拟鼠标键盘操作

Java实现模拟鼠标键盘操作 作为一名刚入行的开发者,你可能对如何使用Java实现模拟鼠标键盘操作感到困惑。不用担心,我将为你详细解释整个过程,并提供相应的代码示例。 流程图 首先,让我们通过一个流程图来了解实现模拟鼠标键盘操作的步骤: #render_12_3420318759-svg{font-family:"treb...

weixin_33542634的博客 632

Java 模拟电脑鼠标键盘操作

package com.dzx; import java.awt.*; import java.awt.event.InputEvent; /** * BUTTON3_DOWN_MASK 鼠标右键 * BUTTON1_DOWN_MASK 鼠标左键 * BUTTON2_DOWN_MASK 鼠标滚轮??? * VK_HOME Home...

qq_35741614的博客 1088

java实现模拟键盘鼠标(附带源码)

java实现模拟键盘鼠标(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1703

win10 java模拟鼠标_怎么用Windows API模拟鼠标移动事件?

具体代码如下:PutAttachment "d:\p", "*.*"//获取窗口句柄Hwnd = Plugin.Window.MousePoint()//获取窗口客户区左上角坐标sRect = Plugin.Window.GetClientRect(Hwnd)xyArray = Split(sRect, "|", - 1 , 1)dx = xyArray(0)dy = xyArray(1)//转移...

weixin_29374899的博客 751

java 模拟键盘输入_Java 在windows 下模拟鼠标键盘的输入

Java提供了一个很好的自动化测试类供我们去模拟鼠标键盘消息。以下是Robot的主要方法Robot类的主要方法详细信息1、mouseMove(intx,inty)将鼠标指针移动到给定屏幕坐标;2、mousePress(intbuttons)按下一个或多个鼠标按钮。使用mouseRelease(intbuttons)方法释放鼠标按钮;3、mouseWheel(intwheelAmt)在配有滚...

weixin_28746223的博客 1641

java如何让鼠标移动_java-如何学习鼠标移动?

java-如何学习鼠标移动?在过去的几周中,我一直在尝试开发一种在我的应用程序中合成类人鼠标运动的方法。 开始时,我使用了多项式和样条插值之类的简单技术,但是即使噪声很小,结果仍然无法看起来很像人。为了解决这个问题,我一直在研究将机器学习算法应用于真实的人类鼠标移动生物特征的方法,以便通过从记录的真实人类的学习中综合鼠标的运动。 用户将编辑记录的运动的概况,该概况将训练该程序用于合成目的。我一直在...

weixin_29713915的博客 485

Java模拟鼠标键盘操作

Java模拟鼠标键盘操作 import java.awt.*;  import java.awt.event.*;  import javax.swing.JOptionPane;  public class T11_ShuBiaoJianPan {  /** * 【轰隆隆】 */  public T11_ShuBiaoJianPan

loser 4999
上一篇: java接口数据json过滤字段方法整理
下一篇: idea 快捷键 - 自用
格子z
博客等级 码龄10年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值