我有下面的代码来显示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秒的延迟。是否有可能在计时器开始时立即对我的代码执行?
使用
public void setInitialDelay(int initialDelay)
-设置定时器的初始延迟,定时器启动后在触发第一个事件之前等待的毫秒时间。在构造时,它被设置为与事件间延迟相同,但它的值是独立的,并且不受事件间延迟更改的影响。
0
这是一个不同的计时器,但仍然会完成相同的任务。
Timer timer = new Timer();
timer.schedule(timerTask, 0, 1000);
这将调度一个任务,每1000ms运行一次,第一次将在0ms运行。