5

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

4

3 回答 3

4

您可以Robot为此使用,如本示例所示。例如,要获取{,您需要执行以下操作:

keyPress(KeyEvent.VK_SHIFT);
keyPress(KeyEvent.VK_OPEN_BRACKET);
keyRelease(KeyEvent.VK_OPEN_BRACKET);
keyRelease(KeyEvent.VK_SHIFT);
于 2012-08-31T20:50:54.873 回答
2

这可能有助于模拟键事件:如何在 java 中模拟键盘按下?

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

希望这会有所帮助=]

于 2012-08-31T20:29:33.817 回答
1

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

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

编辑:为了从 keyevent 中获取字符值,请尝试 KeyEvent.getKeyChar()

于 2012-08-31T20:33:41.760 回答