java - 机器人从剪贴板多次打印相同的字符串
问题描述
我写了一个函数,通过 Robot 类打印一个字符串。但是当我多次调用该函数时,每次它都会打印最后一个字符串。以下是我的代码:
package test;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.event.KeyEvent;
public class ForTesting {
private static void typeInModalWindow(String stringToBeTyped) throws AWTException{
Robot robot = new Robot();
StringSelection stringSelection = new StringSelection(stringToBeTyped);
System.out.println("String recevied :: "+stringToBeTyped);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection,null);
clipboard.setContents(stringSelection,stringSelection);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
}
public static void main(String[] args) throws AWTException {
typeInModalWindow("USER");
typeInModalWindow("PASS");
typeInModalWindow("another");
//anotheranotheranother
}
}
为此,在执行之前,我将光标保留在代码的最后一个注释部分,因此结果会打印在那里。