Определение того, удерживается ли клавиша в Java

#java

#java

Вопрос:

Я реализую KeyListener и пытаюсь выяснить, удерживается ли клавиша нажатой в Java, в отличие от простого нажатия и отпускания. Есть ли способ, которым я могу это сделать?

Комментарии:

1. Она удерживается между a keyPressed и a keyReleased

Ответ №1:

ДА. Для вашей реализации KeyListener

keyPressed Метод вызывается при нажатии клавиши, а keyReleased метод вызывается при отпускании клавиши, и это работает практически для любой клавиши (включая CTRL или CMD; обычно такие клавиши, как ‘fn’ на ноутбуках, не могут быть обнаружены, но это все).

keyTyped Метод не следует использовать, если вы хотите этот уровень точной настройки; keyTyped запускается при нажатии и отпускании клавиши, а также будет повторяться, если клавиша удерживается нажатой, в зависимости от ОС. Так что не используйте это.