因此,我将一个 KeyListener 添加到我的 JFrame,并将一个线程添加到我的 JPanel,后者又添加到我的 JFrame。问题是线程重绘比 keylistener 的通知慢...有没有办法可以将 keylistener 限制为每秒 4 个键(或其他)。
最佳答案
您可以在 KeyListener
中使用 Timer
,或者简单地跟踪上次按下某个键的时间并将其与当前时间进行比较。
这允许您在到达您的任何逻辑之前提前从 KeyListener
退出。但是,您无法阻止 KeyListener
被触发,除非您经常将其删除并在 250 毫秒后再次添加。
另请注意,在 Swing 中,您通常会使用 key bindings而不是 KeyListener
,尽管它们会遇到完全相同的问题。
关于Java限制KeyListener更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12576445/