などの特殊文字のキーイベントを生成したい£, €, µ, ½, Ö, Ä
.次のコードを使用して、「A、B、c、%、*、^」などのキーボード上のキーのキーイベントを生成できます。
public static void generateKeyEvent(final int c) {
new Thread() {
public void run() {
try {
Robot robot = new Robot();
robot.keyPress(c);
try {
Thread.sleep(10);
} catch (InterruptedException e) {
}
robot.keyRelease(c);
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
通常の文字の場合は正常に動作していますが、上記の文字の場合、コードは次の例外をスローしています:
java.lang.IllegalArgumentException: Invalid key code
at sun.awt.windows.WRobotPeer.keyPress(Native Method)
at java.awt.Robot.keyPress(Unknown Source)
at com.companyname.utils.Abc$1.run(Abc.java:286)
これらの特殊文字はキーボードにマップされていないため、この例外がスローされているため、この問題の解決策を探しているときに気づいたことが 1 つあります。
どうすればこれを行うことができますか?