嗨我想知道是否有办法通过使用机器人类来制作汽车轮胎? 有没有办法让字符串变成char []并输出每个字母? 无论如何,我可以为每个字母使用一个案例(例如下面的例子)。
case ' ': key = "VK_SPACE"; shiftOn = false; break;
case 'a': key = "VK_A"; shiftOn = false; break;
case 'b': key = "VK_B"; shiftOn = false; break;
case 'c': key = "VK_C"; shiftOn = false; break;
case 'd': key = "VK_D"; shiftOn = false; break;
case 'e': key = "VK_E"; shiftOn = false; break;
case 'f': key = "VK_F"; shiftOn = false; break;
case 'g': key = "VK_G"; shiftOn = false; break;
case 'h': key = "VK_H"; shiftOn = false; break;
case 'i': key = "VK_I"; shiftOn = false; break;
case 'j': key = "VK_J"; shiftOn = false; break;
case 'k': key = "VK_K"; shiftOn = false; break;
case 'l': key = "VK_L"; shiftOn = false; break;
等...
答案 0 :(得分:0)
在代码here的帮助下:
Thread.sleep(2000); // Give me time to open up notepad
Robot r = new Robot();
for (char c : "I like playing with fire, and Java.".toCharArray()) {
int code = KeyEvent.getExtendedKeyCodeForChar(c);
if (Character.isUpperCase(c))
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(code);
r.keyRelease(code);
if (Character.isUpperCase(c))
r.keyRelease(KeyEvent.VK_SHIFT);
}
你需要做更多的工作来获得像!@ $%& *()_ +这样的角色。
答案 1 :(得分:0)
如果您正在使用多种键盘布局,解决方案是使用一些剪贴板操作和按Ctrl + V键来粘贴每个字符;否则,您可能会得到错误的结果,例如无法在巴西键盘中输入斜线(我之前遇到的一个问题)。 如果没有,您可以使用sbat的解决方案。我只是一个解决方法,关键代码在所有键盘中都不一样,但由于这个原因,它的工作速度较慢(我认为)。
public static void paste(String text) throws Exception {
Robot rob = new Robot(); //Robot for typing
Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard(); //Clipboard
old = (String) c.getData(DataFlavor.stringFlavor); //Clipboard contents before function
for (int i = 0; i < text.length(); i++) {
c.setContents(new StringSelection("" + text.charAt(i)), null); //Set clipboard
//Ctrl + V
rob.keyPress(KeyEvent.VK_CONTROL);
rob.keyPress(KeyEvent.VK_V);
rob.keyRelease(KeyEvent.VK_V);
rob.keyRelease(KeyEvent.VK_CONTROL);
}
c.setContents(new StringSelection(old), null); //Restore old clipboard contents
}