如何使用 Java 在 Windows 上触发本机粘贴事件
How to Trigger Native Paste Event on Windows with Java
我试图制作可以从剪贴板粘贴一些复制数据的自动化软件,但出现一些奇怪的行为。我使用 java.awt.Robot
来实现这一点。这是代码:
try{
java.awt.Robot robot = new Robot();
robot.setAutoDelay(250);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
}catch(AWTException ex){
ex.printStackTrace();
}
如何使用 Java 在 Windows 上正确触发本机粘贴事件?
我刚刚解决了问题,粘贴事件按预期工作。因为我的项目使用 JavaFX,这里有 2 个解决方案使用 java.awt.Robot
try{
java.awt.Robot r = new Robot();
r.keyPress(KeyEvent.VK_CONTROL);
r.keyPress(KeyEvent.VK_V);
r.keyRelease(KeyEvent.VK_CONTROL);
r.keyRelease(KeyEvent.VK_V);
}catch(AWTException e){
e.printStackTrace();
}
或javafx.scene.robot.Robot
javafx.scene.robot.Robot r = new javafx.scene.robot.Robot();
r.keyPress(KeyCode.CONTROL);
r.keyPress(KeyCode.V);
r.keyRelease(KeyCode.CONTROL);
r.keyRelease(KeyCode.V);
我选择使用javafx.scene.robot.Robot
,因为在某些情况下java.awt.Robot
无法正常工作
我试图制作可以从剪贴板粘贴一些复制数据的自动化软件,但出现一些奇怪的行为。我使用 java.awt.Robot
来实现这一点。这是代码:
try{
java.awt.Robot robot = new Robot();
robot.setAutoDelay(250);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
}catch(AWTException ex){
ex.printStackTrace();
}
如何使用 Java 在 Windows 上正确触发本机粘贴事件?
我刚刚解决了问题,粘贴事件按预期工作。因为我的项目使用 JavaFX,这里有 2 个解决方案使用 java.awt.Robot
try{
java.awt.Robot r = new Robot();
r.keyPress(KeyEvent.VK_CONTROL);
r.keyPress(KeyEvent.VK_V);
r.keyRelease(KeyEvent.VK_CONTROL);
r.keyRelease(KeyEvent.VK_V);
}catch(AWTException e){
e.printStackTrace();
}
或javafx.scene.robot.Robot
javafx.scene.robot.Robot r = new javafx.scene.robot.Robot();
r.keyPress(KeyCode.CONTROL);
r.keyPress(KeyCode.V);
r.keyRelease(KeyCode.CONTROL);
r.keyRelease(KeyCode.V);
我选择使用javafx.scene.robot.Robot
,因为在某些情况下java.awt.Robot
无法正常工作