_ Неверный код (ы) кода для вышеуказанного символа - PullRequest
0 голосов
/ 28 апреля 2018

Я хочу отправить сом подчеркивание. но это воспроизводит ошибки. говорит:

_ Неверный код (ы) для вышеуказанного символа

эта ошибка была отправлена ​​из случая по умолчанию: дефолт: выдать новое 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");
    }
  }
}
...