Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java限制键侦听器更新_Java_Swing_Keylistener - Fatal编程技术网

Java限制键侦听器更新

Java限制键侦听器更新,java,swing,keylistener,Java,Swing,Keylistener,因此,我在JFrame中添加了一个KeyListener,在JFrame中添加了一个JPanel线程。问题是线程重新绘制的速度比keylistener的通知慢…有没有办法将keylistener限制为每秒4个键(或其他任何键)。您可以在keylistener中使用计时器,或者只需跟踪上次按下键的时间并将其与当前时间进行比较 这允许您在到达任何逻辑之前提前退出KeyListener。但是,您不能停止触发KeyListener,除非您不断将其删除并在250毫秒后再次添加 另外请注意,在Swing中,

因此,我在JFrame中添加了一个KeyListener,在JFrame中添加了一个JPanel线程。问题是线程重新绘制的速度比keylistener的通知慢…有没有办法将keylistener限制为每秒4个键(或其他任何键)。

您可以在
keylistener
中使用
计时器,或者只需跟踪上次按下键的时间并将其与当前时间进行比较

这允许您在到达任何逻辑之前提前退出
KeyListener
。但是,您不能停止触发
KeyListener
,除非您不断将其删除并在250毫秒后再次添加


另外请注意,在Swing中,您通常会使用而不是
KeyListener
,尽管它们会有完全相同的问题。

KeyListener
取决于操作系统,因此我的第一个想法是不,可能不是……您能否澄清线程重新绘制的时间少于KeyListener部分的更新时间。并非每次调用
repait
都会触发
repait
。它只会安排一次,但Swing可能会决定将多个重绘调用分组在一起。如果你想做动画,请检查线程重新绘制上的链接,然后休眠250毫秒,但我想知道我是否可以将keylistener与此线程同步。谢谢,我实际上正在制作一个,但希望java真的有这样的功能。似乎工作正常,没有延迟。
有没有办法将keylistener限制为每秒4个键(或其他任何键)。
这正是Swing动作(一些如何停止、启动或暂停的方法)的工作,带有Swing定时器