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