Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.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_Timer - Fatal编程技术网

Java 计时器需要很长时间才能启动

Java 计时器需要很长时间才能启动,java,swing,timer,Java,Swing,Timer,作为一个测试项目,我试图编写一个程序来计算我的CPS 为了实现这一点,我使用定时器以固定速率计划,在本例中,将给定时间计数十次,然后在JProgressBar上显示时间,同时用户尝试尽可能频繁地单击按钮 但当我用按钮启动计时器时,计时器又需要大约10秒钟的时间启动并填满吧台 也许只是因为我的电脑慢 代码 public void scheduleAtFixedRate(TimerTask任务, 久拖不决,, (长周期) 将指定的任务安排为重复的固定速率执行,从指定的延迟后开始。随后的执行大约每隔

作为一个测试项目,我试图编写一个程序来计算我的CPS

为了实现这一点,我使用
定时器
以固定速率计划,在本例中,将给定时间计数十次,然后在
JProgressBar
上显示时间,同时用户尝试尽可能频繁地单击按钮

但当我用按钮启动计时器时,计时器又需要大约10秒钟的时间启动并填满吧台

也许只是因为我的电脑慢

代码

public void scheduleAtFixedRate(TimerTask任务, 久拖不决,, (长周期)

将指定的任务安排为重复的固定速率执行,从指定的延迟后开始。随后的执行大约每隔一定的时间间隔进行,间隔为指定的时间段

您指定的第二个参数是计时器启动前的延迟。将其设置为0以使其立即启动

检查:

public void scheduleAtFixedRate(TimerTask任务、首次日期、长周期)

参数:

任务-要计划的任务

firstTime—第一次执行任务的时间

period—连续执行任务之间的时间(以毫秒为单位)

你写道:

    timer.scheduleAtFixedRate(new TimerTask()..., time*1000, 1000);
这意味着它会将第一次运行延迟
time*1000
ms

要立即开始执行,只需将代码更改为

    timer.scheduleAtFixedRate(new TimerTask()..., 0, 1000);
然后,如果您想在X秒后结束计时器,有一些解决方案:


谢谢,我想这就是时间,它会持续多久。我添加了两个链接,指向如何停止计时器的相关问题
java.util.timer-timerjavax.swing.Timer
。使用Swing
定时器时,需要在EDT上自动更新它们。请参阅:
    timer.scheduleAtFixedRate(new TimerTask()..., 0, 1000);