使用机器人在Java中键入字符

时间:2011-07-10 15:32:22

标签: java keypress awtrobot

我知道如何让机器人像这样模拟Y按键:

    Robot.keyPress(KeyEvent.VK_Y);

但是我如何让机器人按报价和句号?:

".  

有人可以提供一些参考页面或示例代码吗?

5 个答案:

答案 0 :(得分:11)

您不能总是只使用KeyEvent.VK ...变量。

例如,在我的键盘上,“%”字符位于“5”之上。要使用Robot键入“5”,代码将为:

robot.keyPress(KeyEvent.VK_5); 
robot.keyRelease(KeyEvent.VK_5);

并使用Robot键入“%”,代码为:

robot.keyPress(KeyEvent.VK_SHIFT); 
robot.keyPress(KeyEvent.VK_5); 
robot.keyRelease(KeyEvent.VK_5);
robot.keyRelease(KeyEvent.VK_SHIFT);

答案 1 :(得分:2)

如果您想使用Robot,KeyEvent具有VK_QUOTE和VK_PERIOD常量。通过KeyEvent API

可以获得所有这些常量和更多常量

答案 2 :(得分:0)

以前的Robot似乎已被弃用。

目前,对于JavaFX,有FXRobot

FXRobot robot = FXRobotFactory.createRobot(scene);
robot.keyPress(KeyCode.QUOTE);
robot.keyPress(KeyCode.PERIOD);

答案 3 :(得分:-1)

“以编程方式键入这些字符是什么意思?”

您可以使用反斜杠(\)打印双引号,但在此期间您不需要任何特殊内容:

System.out.println("This is a quote symbol: \" and this is a period: .");

输出:

This is a quote symbol: " and this is a period: .

答案 4 :(得分:-2)

您的问题不明确,但要打印字符,您可以使用以下代码段作为模板使用流:

的System.out.println( “\”“);