0

在我的程序中,我在画布上设置了 keyListener。它工作得很好,但是当我这样做时 Thread.sleep(1000) keyListener 仍在监听和读取键,但结果仅在睡眠时间结束时显示。如何使 keyListener 不读取或收听睡眠期间键入的键?

4

1 回答 1

4

不要Thread.sleep()使用 Swing。从这个问题中,我推断出你在 EDT(事件调度线程)做所有事情。因此,如果您让 EDT 进入睡眠状态,它不会禁用 Swing,它只会暂停这些事件一秒钟。

可以设置一个 Timer 为一秒,当需要停止接收按键事件时,只需按 禁用组件setEnabled(false),然后启动定时器,当它用完时,调用setEnabled(true)

于 2012-03-24T11:42:57.133 回答