Используйте робота для ввода символов в Java
Я знаю, как сделать так, чтобы робот имитировал нажатие клавиши Y так:
Robot.keyPress(KeyEvent.VK_Y);
Но как мне заставить Робота нажать цитату и точку?:
".
Кто-нибудь может предоставить мне некоторую справочную страницу или пример кода?
5 ответов
Вы не всегда можете просто использовать переменную KeyEvent.VK...
Например, на моей клавиатуре символ "%" выше "5". Чтобы использовать робота для ввода "5", код будет:
robot.keyPress(KeyEvent.VK_5);
robot.keyRelease(KeyEvent.VK_5);
и использовать робота для ввода "%", код будет:
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_5);
robot.keyRelease(KeyEvent.VK_5);
robot.keyRelease(KeyEvent.VK_SHIFT);
Если вы хотите использовать Robot, KeyEvent имеет константы VK_QUOTE и VK_PERIOD. Все эти и другие константы доступны через API KeyEvent.
Предыдущий Robot
кажется, устарели.
В настоящее время для JavaFX есть FXRobot
FXRobot robot = FXRobotFactory.createRobot(scene);
robot.keyPress(KeyCode.QUOTE);
robot.keyPress(KeyCode.PERIOD);
Что вы подразумеваете под "программным вводом этих символов?"
Вы можете использовать обратную косую черту (\
) чтобы распечатать двойную кавычку, но вам не нужно ничего особенного за период:
System.out.println("This is a quote symbol: \" and this is a period: .");
Выход:
This is a quote symbol: " and this is a period: .
Ваш вопрос неясен, но для печати символов вы можете использовать поток, используя следующий фрагмент в качестве шаблона:
System.out.println ("\" ".);