java - Java Swing 定时器中的负延迟

标签 java swing

我刚刚在一些代码中遇到了这个,我很困惑。

 timer = new Timer(-10, new
         ActionListener()
         {
            //Do some stuff
         });

swing Timer 对象中负(或零)延迟的意义是什么?根据 API,第一个事件会立即触发,但是 -10 和负 -100 之间有什么区别?在我的代码中,它们的功能似乎有所不同,但我不能完全确定它对 Timer 对象的更改。

最佳答案

javadoc 说:“如果延迟小于或等于零,计时器会在启动后立即触发。”

所以答案是应该没有区别。您看到的明显差异可能只是您的应用程序和/或运行时系统不确定性的结果。

跟进

So then is each subsequent event fired immediately after the one before it as well, with any apparent 'delay' just the product of the system?

延迟可能只是因为线程切换的不确定性,以及 Swing Timer 使用一个线程来执行所有计时器的事件监听器这一事实。

您可能应该阅读 java.swing.Timer 的 javadocs和 java.util.Timer以及它们链接到的其他文档。

关于java - Java Swing 定时器中的负延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4415074/

相关文章:

java - JCheckBox数组初始化或访问问题

java - 关闭前从 JDialog 内的 JPanel 读取数据

java - 用Java swing画一个简单的圆不起作用

Java Swing Sprite : how to simulate a rolling dice

java - 如何检查此复选框是否已从 Java 中的其他方法启用?

java - java中左移的错误结果

java - Spring JPA 存储库访问对象集合中的字段

java - 获取 Android 内部(私有(private))存储的任意子目录中的文件列表

java - Android - 应用程序不断因错误而崩溃 - 我认为这与首选项 fragment 有关

java - 我想用 Java 中的 String replaceAll 方法用新值替换整个 String