java - 在java中创建一个计时器

标签 java swing timer

我尝试在java中创建一个计时器并将其显示在JFrame上,但是当我将我的计时器与我的手机计时器比较时,我手机中的计时器比我的速度快,为什么?

我在计时器中将延迟设置为每百秒 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));

        }
    });

抱歉英语不好。

提前感谢您的回答。

最佳答案

我相信您的问题与第三行代码有关。作为java API docs说:“延迟参数用于设置初始延迟和事件触发之间的延迟(以毫秒为单位)。”这意味着每次都有 10 毫秒的延迟,这可能会导致您的延迟。要解决此问题,您可以将代码行更改为:

timer = new Timer(0, new ActionListener());

通过将 10 更改为 0,它将立即运行,而不是慢慢落后。我建议阅读this article了解有关计时器的更多信息。

关于java - 在java中创建一个计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36532358/

相关文章:

java - 使用 REST API 从 Web 服务接收特定数据

java - 求 BST 中数组元素的层数

java - I/O "check if file name specified"args != 2 件事

java - 如何在递增/递减字母字符时保持换行符不变?

java - 在 JFrame 中编辑多个 JPanel

Java-单元格更改时如何保存JTable?

ios - 在ios中设置一个定时器

c# - 在特定时间播放WAV?

java.lang.NoClassDefFoundError : com/google/common/collect/ImmutableMap while using WebDriver with Maven Dependencies in Java Selenium

.net - Windows 服务中定时器的使用