您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何停止Swing中重复的keyPressed()/ keyReleased()事件

如何停止Swing中重复的keyPressed()/ keyReleased()事件

所以我遇到的问题似乎是只在Linux上发生的错误

是的,这是Linux问题。

在Windows上,当按下某个键时,您会收到多个KeyPressed事件,但只有一个KeyReleased事件。

这个问题经常被问到,我从来没有见过一个好的解决方案。

但是我认为解决方案的基础是使用计时器。按下键后,将启动计时器。当您再次按下另一个键时,将重新启动计时器。因此,只要计时器间隔大于键盘的重复频率,就可以在按住键时不断重置计时器。当keyPresses停止生成时,计时器将触发,因此您假设已释放键。这意味着您在处理keyReleased时会有延迟。

其他 2022/1/1 18:14:35 有399人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶