我尝试在java中创建一个计时器并在 JFrame 上显示它但是当我将计时器转到我的手机计时器时,手机中的计时器比我的原因要快吗?
我在我的计时器中将deley设置为10到每秒。
这是仅用于计时器的代码:
import javax.swing.Timer;
int min = 0, sec = 0, hundredSec = 0;
timer = new Timer(10, new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
hundredSec++;
if(hundredSec >= 99)
{
sec++;
hundredSec = 0;
}
if(sec >= 59)
{
min++;
sec = 0;
}
timerL.setText(String.format("%02d:%02d:%02d", min, sec, millisec));
}
});
抱歉英文不好。
提前感谢您的回答。
答案 0 :(得分:1)
我相信你的问题与第三行代码有关。正如java API docs所说:“delay参数用于设置初始延迟和事件触发之间的延迟,以毫秒为单位。”这意味着每次都有10毫秒的延迟,这可能会导致您的延迟。要解决此问题,您可以将代码行更改为:
timer = new Timer(0, new ActionListener());
通过将10改为0,它会立即运行而不是慢慢落后。我建议您阅读this article以了解有关计时器的更多信息。