Use a robot to type characters in Java
I know how to have Robot simulate a Y keypress like so:
Robot.k开发者_开发百科eyPress(KeyEvent.VK_Y);
But how do I get Robot to press a quote and period?:
".
Can anyone provide me some reference page or sample code?
You can't always just use the KeyEvent.VK... variable.
For example on my keyboard the "%" character is above the "5". To use a Robot to type a "5", the code would be:
robot.keyPress(KeyEvent.VK_5);
robot.keyRelease(KeyEvent.VK_5);
and use a Robot to type a "%", the code would be:
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_5);
robot.keyRelease(KeyEvent.VK_5);
robot.keyRelease(KeyEvent.VK_SHIFT);
If you wanted to use Robot, KeyEvent has VK_QUOTE and VK_PERIOD constants. All of these constants and more are available through the KeyEvent API
Previous Robot
s seem to be deprecated.
For the time being, for JavaFX, there's FXRobot
FXRobot robot = FXRobotFactory.createRobot(scene);
robot.keyPress(KeyCode.QUOTE);
robot.keyPress(KeyCode.PERIOD);
What do you mean by "programmatically type these characters?"
You can use a backslash (\
) to print a double-quote, but you don't need anything special for the period:
System.out.println("This is a quote symbol: \" and this is a period: .");
Output:
This is a quote symbol: " and this is a period: .
Your question is not clear, but to print the characters you can use a stream using the following snippet as a template:
System.out.println("\".");
精彩评论