アプリにテキストを入力するために、awtからRobotを使用しようとしています。問題は、ê、à、áなどの文字を入力できないことです。たとえば、このような印刷を試してみましたが、それでも機能しますが、何も印刷されません。VK_CIRCUMFLEX
それが重要かどうかはわかりませんが、私はMacでテストしています。
どんな助けでも来るでしょう。
クリップボードをCTRL/COMMAND + Vと組み合わせて使用すると、作業を行うことができます。以下のコードは、少なくともWindowsでは機能します(Macキーコンボでは、貼り付けを行うために別のシーケンスが必要になる可能性があります)。
public static void main(String[] args) throws AWTException {
String osName = System.getProperty("os.name");
boolean isOSX = osName.startsWith("Mac OS X");
boolean isWin = osName.startsWith("Windows");
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
StringSelection str = new StringSelection("Héllõ Wörld");
clipboard.setContents(str, str);
Robot robot = new Robot();
if (isMac) {
// ⌘-V on Mac
robot.keyPress(KeyEvent.VK_META);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_META);
} else if (isWin) {
// Ctrl-V on Win
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
} else {
throw new AssertionError("Not tested on "+osName);
}
}