Получите интервал VK от произвольного символа в Java

CSS:

.center {
  text-align: center;
  margin: 0;
}
8
задан Andrew Thompson 30 January 2013 в 03:09
поделиться

2 ответа

Возможно, этот ужасный взлом:

Map<String, Integer> keyTextToCode = new HashMap<String, Integer>(256);
Field[] fields = KeyEvent.class.getDeclaredFields();
for (Field field : fields) {
    String name = field.getName();
    if (name.startsWith("VK_")) {
        keyTextToCode.put(name.substring("VK_".length()).toUpperCase(),
                          field.getInt(null));
    }
}

keyTextToCode затем содержал бы отображение от строк (например, или "PAGE_UP") к кодам vk.

5
ответ дан 5 December 2019 в 08:26
поделиться

Я не думаю, что существует легкий ответ для этого.

Сначала поймите, что Java имеет двухбайтовые символы и совсем не 2^16 KeyEvent. _ VK определил. Таким образом, там будут символами, для которых никакой KeyEvent не может быть сгенерирован для получения того вывода.

Кроме того, C и c и Ç и ç у всех есть то же KeyEvent.getKeyCode() == KeyEvent.VK_C.

1
ответ дан 5 December 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: