Я хочу отправить сом подчеркивание. но это воспроизводит ошибки. говорит:
_
Неверный код (ы) для вышеуказанного символа
эта ошибка была отправлена из случая по умолчанию:
дефолт:
выдать новое IllegalArgumentException («Невозможно ввести символ» + символ);
мое окружение:
IntelliJ IDEA 2018.1 (Ultimate Edition)
JRE: 1.8.0_152-release-1136-b20 amd64
JVM: 64-битная серверная виртуальная машина OpenJDK от JetBrains s.r.o
Windows 10 10.0
Кстати, после того, как я преобразовал его сейчас (28.4.2018 20:38) в kotlin, я получил ту же ошибку: https://gist.github.com/f61039faddaad67eaaf8c825f94934c4
источник:
import java.awt.*;
import java.awt.event.KeyEvent;
//
public class Keyboard {
private Robot robot;
public static void main(String... args) throws Exception
{
Keyboard keyboard = new Keyboard();
keyboard.type("_");
}
public Keyboard() throws AWTException
{
this.robot = new Robot();
robot.delay(500);
robot.setAutoDelay(2);
robot.setAutoWaitForIdle(true);
}
public Keyboard(Robot robot)
{
this.robot = robot;
}
public void type(CharSequence characters)
{
int length = characters.length();
for (int i = 0; i < length; i++)
{
char character = characters.charAt(i);
type(character);
}
}
public void enter()
{
robot.keyPress(KeyEvent.VK_ENTER);
}
public void type(char character){
System.out.println(character);
switch (character) {
case '_': doType(KeyEvent.VK_UNDERSCORE); break;
default:
throw new IllegalArgumentException("Cannot type character " + character);
}
}
private void doType(int keyCode){
try{
robot.keyPress(keyCode);
robot.keyRelease(keyCode);
}
catch(Exception e){
System.out.println("Invalid key code(s) for above character");
}
}
private void doType(int keyCode1, int keyCode2){
try{
robot.keyPress(keyCode1);
robot.keyPress(keyCode2);
robot.keyRelease(keyCode2);
robot.keyRelease(keyCode1);
}
catch(Exception e){
System.out.println("Invalid key code(s) for above character");
}
}
}