Читаемый ход клавиши

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

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

Print result:
ctrl released 1

Expected:
Ctrl+1

person SeniorJD    schedule 26.11.2014    source источник
comment
comment
›кроме ручного анализа   -  person SeniorJD    schedule 26.11.2014
comment
Формат, который вам нужен, является настраиваемым форматом, поэтому, очевидно, вам потребуется выполнить разбор или форматирование вручную.   -  person camickr    schedule 26.11.2014
comment
@camickr спасибо за перевод mKorbel :)   -  person SeniorJD    schedule 26.11.2014


Ответы (1)


От 1_:

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, ты ошибаешься и безосновательно говоришь, что это не является частью настроек по умолчанию.

person SeniorJD    schedule 04.12.2014