2011-07-10 69 views
3

键入字符我知道如何让机器人模拟Ÿ按键,像这样:使用机器人在Java中

Robot.keyPress(KeyEvent.VK_Y); 

但我如何获得机器人按报价和周期?:

". 

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

+2

在什么情况下? –

+0

你的意思是像System.out.print(“\”“);或其他? –

+0

我想这样做:robot.keyPress(KeyEvent.VK_D); – dfdsfsdfsddsgsrew

回答

-1

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

你可以用一个反斜杠(\)打印一个双引号,但你并不需要什么特殊的时期:

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

输出:

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

我看到这不是你想要做的,看起来你正在寻找'KeyEvent'的键盘代码,它提供了** @ Hovercraft Full of Eels **提供的 –

-2

你的问题不清楚,但要打印可以使用流的字符,请使用以下代码片段作为模板:

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

2

如果您想使用Robot,则KeyEvent具有VK_QUOTE和VK_PERIOD常量。所有这些常数和更多可通过KeyEvent API

+0

这个参考非常有用,谢谢! – dfdsfsdfsddsgsrew

+0

@dfdsfsdfsddsgsrew:您的欢迎。我认为有人过度编辑了你原来的帖子,删除了关键信息,对此我感到抱歉。 –

+0

不需要感到抱歉。你的回应对我来说真的很有用! – dfdsfsdfsddsgsrew

10

您不能总是只使用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); 
+0

与往常一样有用,感谢和1+ /皮特 –

0

上一页Robot小号似乎将被弃用。

暂时,JavaFX的,有FXRobot

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