我刚刚在一些代码中遇到过这个问题,我很困惑.
timer = new Timer(-10, new
ActionListener()
{
//Do some stuff
});
Run Code Online (Sandbox Code Playgroud)
摆动Timer对象中的负(或零)延迟有什么意义?根据API,第一个事件立即被触发,但是-10和负-100之间有什么区别?在我的代码中,它们似乎功能不同,但我无法确定它对Timer对象的更改.
javadoc说:"如果延迟小于或等于零,定时器一启动就会触发." .
所以答案是应该没有区别.您看到的明显差异可能只是应用程序和/或运行时系统中不确定性的结果.
跟进
那么,每个后续事件也会在它之前的事件之后立即触发,任何明显的"延迟"只是系统的产物吗?
延迟可能仅仅是因为线程切换不确定,以及Swing Timer使用一个线程为所有定时器执行事件监听器这一事实.
你应该阅读的javadoc java.swing.Timer和java.util.Timer它们链接到还有其他文档.