我有以下代码来显示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秒延迟。是否可以在计时器启动时立即触发我的代码执行?
答案 0 :(得分:3)
public void setInitialDelay(int initialDelay)
- 设置定时器的初始延迟,即在触发第一个事件之前启动定时器后等待的时间(以毫秒为单位)。在构造时,这被设置为与事件间延迟相同,但是它的值是独立的并且不受事件间延迟的改变的影响。
使用0
答案 1 :(得分:1)
这是一个不同的计时器,但仍将完成同样的计划。
Timer timer = new Timer();
timer.schedule(timerTask, 0, 1000);
这将安排一个每1000毫秒运行一次的任务,并将在0毫秒时首次运行。