开发者

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 Robots 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("\".");

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜