我正在尝试在Java中使用Robot类并输入一些文本。不幸的是,我在查找方括号的键码时遇到问题,这个符号|
和这个符号`。我无法在KeyEvent常量中找到它们。我想使用它们,因为我输入的文本是西里尔字母,这些符号代表字母表中的字符。提前谢谢。
答案 0 :(得分:5)
位于KeyEvent
的{{3}}
KeyEvent.VK_OPEN_BRACKET
和
KeyEvent.VK_CLOSE_BRACKET
修改强>
来自KeyEvent
JavaDoc
此低级事件由组件对象(例如 按下,释放或键入键时的文本字段。
所以在美国的101键键盘上,`和〜会产生相同的键码,尽管〜会有一个 SHIFT 修饰符。另请注意,KeyEvent.VK_BACK_SLASH
也会捕获 | (管道)击键。
尝试将以下示例KeyAdapter
添加到您的项目中以查看此操作。
new KeyAdapter()
{
public void keyPressed(final KeyEvent e)
{
if (e.getKeyCode() == KeyEvent.VK_BACK_QUOTE)
{
e.toString();
}
if (e.getKeyCode() == KeyEvent.VK_BACK_SLASH)
{
e.toString();
}
if (e.getKeyCode() == KeyEvent.VK_OPEN_BRACKET)
{
e.toString();
}
}
}
答案 1 :(得分:0)
一般解决方案是致电KeyEvent.getExtendedKeyCodeForChar(int c)
。如果unicode代码点c
具有将返回的VK_
常量。否则返回“唯一整数”。
我认为'''是KeyEvent.VK_BACK_QUOTE ......