Удобочитаемое нажатие клавиш

1

Есть ли какой-либо способ по умолчанию в Java для перевода KeyStroke в удобочитаемую String кроме ручного разбора?

KeyStroke ke = KeyStroke.getKeyStroke("ctrl released 1");
System.out.println(ke.toString())

Print result:
ctrl released 1

Expected:
Ctrl+1
  • 0
    > кроме ручного разбора
Показать ещё 2 комментария
Теги:
swing
keystroke

1 ответ

1
Лучший ответ

Из Java Swing API:

KeyStroke accelerator =  b.getAccelerator();
String acceleratorText = "";
if (accelerator != null) {
    int modifiers = accelerator.getModifiers();
    if (modifiers > 0) {
        acceleratorText = KeyEvent.getKeyModifiersText(modifiers);
        acceleratorText += "+";
    }
    acceleratorText += KeyEvent.getKeyText(accelerator.getKeyCode());
}

@mKorbel, U're неправильно и беспочвенное высказывание, что это не часть дефолтов

Ещё вопросы

Сообщество Overcoder
Наверх
Меню