如何设置摆动计时器以在启动时执行

时间:2014-07-28 12:53:20

标签: java swing timer listeners

我有以下代码来显示swing应用程序中的当前时间。

private void startClock(StateBar stateBar)
{
    ActionListener listener = new ActionListener()
    {
          public void actionPerformed(ActionEvent event)
          {
            stateBar.setTime(Clock.currentDateStr());
          }
    };

    timer = new Timer(1000,listener);
    timer.start();
}

但它似乎不是在计时器启动时执行监听程序代码,而是在启动后一秒钟之后执行。 我的意思是当我用我的时钟打开面板时,日期显示为1秒延迟。是否可以在计时器启动时立即触发我的代码执行?

2 个答案:

答案 0 :(得分:3)

  

public void setInitialDelay(int initialDelay) - 设置定时器的初始延迟,即在触发第一个事件之前启动定时器后等待的时间(以毫秒为单位)。在构造时,这被设置为与事件间延迟相同,但是它的值是独立的并且不受事件间延迟的改变的影响。

使用0

答案 1 :(得分:1)

这是一个不同的计时器,但仍将完成同样的计划。

Timer timer = new Timer();
timer.schedule(timerTask, 0, 1000);

这将安排一个每1000毫秒运行一次的任务,并将在0毫秒时首次运行。