I want to simulate entering a string (can contain any character) in JTextField. I am using new KeyEventData() for that. But I am not able to determine how to handle characters like {, }, ) etc and also how to append a new character to already entered characters.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can use Robot
for this, as shown in this example. To get {
, for example, you'll need to do something like this:
keyPress(KeyEvent.VK_SHIFT);
keyPress(KeyEvent.VK_OPEN_BRACKET);
keyRelease(KeyEvent.VK_OPEN_BRACKET);
keyRelease(KeyEvent.VK_SHIFT);
回答2:
This might be helpful for emulating keyevents: How to simulate keyboard presses in java?
For left and right brace, KeyEvent.VK_BRACELEFT and KeyEvent.VK_BRACERIGHT http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html#VK_BRACELEFT
Hope this helps =]
回答3:
check VK_BRACELEFT, VK_BRACERIGHT, VK_RIGHT_PARENTHESIS and VK_LEFT_PARENTHESIS for handling those characters.
For the appending the character, you might suppose building the list of characters or building the string.
edit: for getting the character value from the keyevent try KeyEvent.getKeyChar()