JavaFx 模拟键盘和鼠标事件


模拟键盘事件

可实现按键的模拟,包含快捷键

模拟按下ctrl+v示例代码:

val robot = Robot()
robot.keyPress(KeyEvent.VK_CONTROL)
robot.keyPress(KeyEvent.VK_V)
robot.keyRelease(KeyEvent.VK_V)
robot.keyRelease(KeyEvent.VK_CONTROL)

模拟鼠标事件

可实现鼠标的点击,移动及滑轮的滚动

val robot = Robot()
//右键
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK)
robot.mouseMove(500,600)
robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK)
  • InputEvent.BUTTON1_DOWN_MASK 左键
  • InputEvent.BUTTON2_DOWN_MASK 中键
  • InputEvent.BUTTON3_DOWN_MASK 右键

截图

可以实现屏幕截图,得到BufferImage对象

val robot = Robot()
//从(400,400)坐标截取宽度为200,高度也为200的图片
val tangle = Rectangle(400,400,200,200)
val img = robot.createScreenCapture(tangle)
//输出图片文件
ImageIO.write(img,"png", File("D://temp//ss.png"))

如果想要实现截图的功能,可使用此API,由用于使用鼠标框定范围,之后截图保存即可

按键精灵

思路是,记录下用户具体的操作(估计要使用按键和鼠标的监听),记录具体的过程,之后重新执行用户自己录制的过程

目前还未尝试…

参考

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/279839.html

(0)
上一篇 2022年8月11日 10:28
下一篇 2022年8月11日 10:44

相关推荐

发表回复

登录后才能评论