如何在java中模拟键盘按下

时间:2012-08-31 20:22:41

标签: java swing jtextfield awtrobot

我想模拟在JTextField中输入一个字符串(可以包含任何字符)。我正在使用新的KeyEventData()。但我无法确定如何处理{,},等等字符,以及如何将新字符附加到已输入的字符。

3 个答案:

答案 0 :(得分:4)

您可以使用Robot进行此操作,如example所示。例如,要获得{,您需要执行以下操作:

keyPress(KeyEvent.VK_SHIFT);
keyPress(KeyEvent.VK_OPEN_BRACKET);
keyRelease(KeyEvent.VK_OPEN_BRACKET);
keyRelease(KeyEvent.VK_SHIFT);

答案 1 :(得分:2)

这可能有助于模拟关键事件:How to simulate keyboard presses in java?

左右括号,KeyEvent.VK_BRACELEFT和KeyEvent.VK_BRACERIGHT http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html#VK_BRACELEFT

希望这有助于=]

答案 2 :(得分:1)

检查VK_BRACELEFT,VK_BRACERIGHT,VK_RIGHT_PARENTHESIS和VK_LEFT_PARENTHESIS以处理这些字符。

对于附加字符,您可能会假设构建字符列表或构建字符串。

编辑:从keyevent获取字符值尝试KeyEvent.getKeyChar()