Wie wird der Java.awt.Robot-Typ zu Unicode-Zeichen gemacht? (Ist es möglich?

Wir haben eine vom Benutzer bereitgestellte Zeichenfolge, die Unicode-Zeichen enthalten kann, und wir möchten, dass der Roboter diese Zeichenfolge eingibt.

Wie konvertiert man einen String in keyCodes, die der Roboter verwenden wird?
Wie machst du das, damit es auch von der Java-Version unabhängig ist (1.3 -> 1.6)?

Was wir für "ASCII" Zeichen arbeiten, ist

//char c = nextChar();
//char c = 'a'; // this works, and so does 'A'
char c = 'á'; // this doesn't, and neither does 'Ă'
Robot robot = new Robot();
KeyStroke key = KeyStroke.getKeyStroke("pressed " + Character.toUpperCase(c) );
if( null != key ) {
  // should only have to worry about case with standard characters
  if (Character.isUpperCase(c))
  {
    robot.keyPress(KeyEvent.VK_SHIFT);
  }

  robot.keyPress(key.getKeyCode());
  robot.keyRelease(key.getKeyCode());

  if (Character.isUpperCase(c))
  {
    robot.keyRelease(KeyEvent.VK_SHIFT);
  }
}

Antworten auf die Frage(10)

Ihre Antwort auf die Frage