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,由用于使用鼠标框定范围,之后截图保存即可

按键精灵

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

目前还未尝试...

参考

posted @ 2022-08-11 00:22  Stars-one  阅读(361)  评论(0编辑  收藏  举报