我发现在任何使用Key Listener的类中实现的方法都包含keyPressed,keyReleased和keyDown,但是如何在按住键的同时继续发生某些事情?意思是否有实现“keyHeld”类型场景的方法?Java Swing中的键盘“保持”事件?
0
A
回答
1
有两种一般机制。
keyPressed
将在密钥被按下时反复调用,直到密钥被释放。然而,第一次按键和重复键之间通常会有短暂的延迟。
或者,您可以设置一个标志,指示它们的键在被释放时被按下并重置标志。
可能最简单的解决方案是使用某种List
contains al,当前按下的虚拟键码。然后,您只需检查此列表,看看它是否包含您需要使用的虚拟键代码,并在其执行时采取适当的操作。
这使我的警告,不进行交互或其他任何线程改变任何UI组件,则此事件调度线程
1
的keyTyped
方法,被不断要求,同时该键一次,最初的延迟:
s.....ssssssssssssssssssssssssss
2
请勿使用KeyListener。 Swing旨在与Key Bindings一起使用。
我对这种情况使用了摆动计时器,因为您现在完全控制重复速率。您使用keyPressed绑定启动Timer,然后使用keyReleased绑定停止Timer。 Swing教程还有一章关于如何使用计时器。
相关问题
- 1. 的Java Swing:保持事件处理maintanable
- 2. Java/Swing + NetBeans 6.1。键盘事件不起作用
- 3. java swing事件
- 4. Swing屏幕键盘
- 5. 的Java Swing事件
- 6. 键盘事件
- 7. 键盘事件
- 8. 键盘事件
- 9. .NET中的键盘事件
- 10. 触发键盘事件,WebKit的键盘不会触发事件
- 11. Godot键盘事件
- 12. GLUT键盘事件
- 13. Flex键盘事件
- 14. As3键盘事件
- 15. 保持键盘上方的视图 - 当出现键盘时
- 16. 在swing应用程序中保留键盘布局?
- 17. java中的依赖于上下文的键盘绑定Swing
- 18. Java Swing - 保持所有JFrames在一起
- 19. 保持键盘不会遮挡窗体中的小部件
- 20. java keyPressed事件在按下按键时保持触发
- 21. java swing jtextfiled事件处理
- 22. Swing事件线程Java
- 23. Java Swing和JComboBox事件
- 24. Java Swing和事件错误?
- 25. 硬件键盘事件
- 26. swing:事件侦听器支持类
- 27. 如何使用Java Swing重新映射键盘键?
- 28. 如何强制键盘保持显示?
- 29. angular2离子2保持键盘弹出
- 30. 如何过滤UICollectionView并保持键盘?
你的意思是'keyTyped'?而不是'keyDown'。 – Mordechai 2013-03-18 21:52:44
尝试将System.out.println()添加到所有KeyEvent中,查看发生了什么,以便更快地发布[SSCCE](http://sscce.org/),更简单,可运行,可编译,只需使用JFrame一个Focusable JComponents,对KeyEvent作出反应 – mKorbel 2013-03-18 21:53:28