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

按键精灵

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

目前还未尝试...

参考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章