keyPress
отправит событие, когда клавиша была нажата. keyRelease
отправит событие, когда ключ был выпущен. Если вы хотите имитировать набор текста, вы можете сделать что-то вроде:
public class SuperRobot extends Robot {
public void typeKey(int keyCode) {
keyPress(keyCode);
delay(20);
keyRelease(keyCode);
}
}
public static void main(String[] args) {
try {
SuperRobot r = new SuperRobot();
// Now, let's press Ctrl+A
r.keyPress(KeyEvent.VK_CONTROL);
r.typeKey(KeyEvent.VK_A);
r.keyRelease(KeyEvent.VK_CONTROL);
} catch (Exception ex) { // Either AWTException or SecurityException
System.out.println("Oh no!");
}
}
Обратите внимание, что для ввода чего-либо с маской, такой как Ctrl + A, мы сначала нажимаем Ctrl, затем моделируем нажатие и отпускание A, затем отпускаем Ctrl. Как правило, робот должен более или менее точно имитировать то, что вы, как пользователь, делаете.