我希望这不是重复的,但我已经搜索了论坛并且还没有找到任何答案。
我的 java 应用程序使用 Robot 类输入文本时遇到问题。提供了文本,应用程序将其键入。当用户拥有 QWERTY 键盘时,一切正常。当用户有一个 AZERTY 键盘时,值会不正确。
例如将“1234567890”输入软件类型“&é”'(§è!çà"
我希望有些人知道如何支持多种键盘布局。先感谢您。
这是一个片段
String TRANSLATION_SHIFT = "~!@#$%^&*()_+{}|:\"<>?";
String TRANSLATION_NON_SHIFT = "`1234567890-=[]\\;',./";
Robot robot = new Robot();
String text = "1234567890";
int key;
for (char c: text.toCharArray()){
switch(c){
....
case '0':
key = KeyEvent.VK_0;
break;
case '1':
key = KeyEvent.VK_1;
break;
...(etc etc)...
case '9':
key = KeyEvent.VK_9;
break;
...
}
robot.keyPress(key);
robot.keyRelease(key);
}
里面也有代码