Отключить Keylistener в Java - PullRequest
0 голосов
/ 24 марта 2012

В моей программе на холсте установлен keyListener.Это работает отлично, но когда я делаю Thread.sleep (1000), keyListener все еще слушает и читает ключи, но результат показывает только когда время ожидания закончилось.Как заставить keyListener не читать и не слушать ключи, набранные в период сна?

1 Ответ

4 голосов
/ 24 марта 2012

Не делай Thread.sleep() с Swing.Из вопроса я вычитаю, что вы все делаете в EDT (Event Dispatch Thread).Поэтому, если вы переведете EDT в спящий режим, он не отключит Swing, а просто приостановит эти события на секунду.

Вы можете установить таймер на одну секунду, а когда вам нужно прекратить получать ключевые события, просто отключите компонент с помощью setEnabled(false), затем запустите таймер, и когда он закончится, вы вызываете setEnabled(true).

...