2013-07-22 2 views
0

Я искал разницу между KeyPressed и KeyTyped События, но все же я не совсем понимаю об этом. Одна вещь, которую я нашел, - Keypressed запускается сначала, чем KeyTyped. Просьба уточнить, когда они срабатывают точно. Что подходит для использования с этой целью? Заранее спасибоKeyPressed и KeyTyped Confusion

+0

Используется ли это с помощью компонентов Swing или AWT? Для Swing обычно используют привязки клавиш на основе AWT на нижнем уровне, 'KeyListener'. Подробнее о том, как их использовать, см. [Как использовать привязки клавиш] (http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html). –

ответ

9

keyPressed вызывается всякий раз, когда какой-либо нажатием клавиши происходит. keyTyped запускается при нажатии клавиши, которая может быть преобразована в символ Юникода. Если клавиша сдвига нажата, например, нажатие «a» сообщит keyTyped, что вы набрали капитал A, а keyPressed просто получит ключ «a», без указаний в главном или нижнем регистре. Вы не можете позвонить event.getKeyChar() с keyPressed, потому что не существует ключевого символа, связанного с событиями. Персонажи поступают только от keyTyped.

Основная идея заключается в том, что keyTyped используется для ввода символов, которые набраны, и keyPressed используется для получения необработанных ключей.

-1

KeyPressed происходит, когда ключ спускается. KeyTyped происходит, когда ключ опускается, а затем выполняется резервное копирование. Я не уверен, что «в быстрой последовательности» - это требование, и если да, то как быстро «быстро».

Редактировать: KeyTyped Фактически, когда символ Unicode отправляется с клавиатуры. В ОБЩЕСТВЕ, ключевое поведение заключается в том, что он опускается, а затем быстро восстанавливается.

Взято из: KeyListener, keyPressed versus keyTyped

Смежные вопросы