如何在Java中键入某个字符?

时间:2016-08-01 14:22:12

标签: java unicode

我尝试了很多东西来在当前光标处输入某个Unicode字符,如中文字符等。

我使用的方式是使用剪贴板和机器人。

首先,保存剪贴板中的内容以将内容恢复为原始内容。 其次,用我想要输入的内容设置剪贴板的内容。 第三,使用Robot调用Ctrl + V键。 第四,将剪贴板的内容恢复到我们在第一步中保存的原始内容。

Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

Transferable originalContent = clipboard.getContents(null);
StringSelection newContents = new StringSelection(str);

clipboard.setContents(newContents, newContents);

keyboardRobot.keyPress(KeyEvent.VK_CONTROL);
keyboardRobot.keyPress(KeyEvent.VK_V);
keyboardRobot.keyRelease(KeyEvent.VK_V);
keyboardRobot.keyRelease(KeyEvent.VK_CONTROL);

clipboard.setContents(originalContent, null);

嗯,它大致有效。但通常粘贴文本比设置粘贴原始内容的内容更早发生。甚至,剪贴板有时也不可用,所以我认为这种方法并不是非常好的输入Unicode的方法。

你能帮助我吗? :(请帮帮我......

0 个答案:

没有答案