如何获取 java.util.Timer 中的剩余时间?

2024-02-21

如何获取 util.Timer 中的剩余时间? 我想要做的是添加一个进度条,显示计时器重新开始之前剩余的时间。

这就是我到目前为止所得到的:

int seconds = 8;

java.util.Timer timer = new Timer();
timer.schedule( new TimerTask(){
    public void run(){
        // Do something
        // Add a progressbar that displays time left until the timer "starts over".
    },0,(long) (seconds*1000));

您需要第二个计时器来以特定的时间间隔刷新 GUI。
实现此目的的另一种方法是每秒激活一个计时器并更新用户界面中的计数。如果时间到了,请调用您的具体操作。

仅具有控制台输出的简单示例:

TimerTask task = new TimerTask()
{
    int seconds = 8;
    int i = 0;
    @Override
    public void run()
    {
       i++;

       if(i % seconds == 0)
           System.out.println("Timer action!");
       else
           System.out.println("Time left:" + (seconds - (i %seconds)) );
    }
};

Timer timer = new Timer();
timer.schedule(task, 0, 1000);

它的输出将是:

Time left:7
Time left:6
Time left:5
Time left:4
Time left:3
Time left:2
Time left:1
Timer action!
Time left:7
Time left:6
Time left:5
Time left:4
Time left:3
Time left:2
Time left:1
Timer action!
Time left:7
Time left:6
...

然后只需用您的代码更改 System.out 即可更新进度栏。记住:java.util.Timer开始自己的Thread。 Swing 不是线程安全的,因此您需要将每个 gui 更改代码放入SwingUtilities.invokeLater()!
如果您没有执行任何长时间运行的任务,每次计时器达到 8 秒标记时,您可能需要使用javax.swing.Timer直接地。它使用 EDT 而不是自己的Thread,因此您不需要将对 Swing 组件的调用与SwingUtilities.invokeLater().

另请参阅:
Swing 应用程序内部的 javax.swing.Timer 与 java.util.Timer https://stackoverflow.com/questions/25025715/javax-swing-timer-vs-java-util-timer-inside-of-a-swing-application

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 java.util.Timer 中的剩余时间? 的相关文章

  • 有效地将三个字母的货币名称转换为符号名称(例如 20 美元到 20 美元)

    我有一个格式化的字符串 它等于USD 20 我想把它转换成 20 我怎样才能高效地做到这一点 我应该使用正则表达式来执行此操作 但由于区域设置发生变化 国家 地区 ISOCode 也会发生变化 你需要的是这个 import java uti
  • 使用 s:select 标签在下拉菜单中使用 i18n [重复]

    这个问题在这里已经有答案了 我的 JSP 页面中有一个下拉菜单 它是通过
  • 将 java 方法参数设置为最终参数

    那有什么区别final在下面的代码之间进行 将参数声明为有什么好处final public String changeTimezone Timestamp stamp Timezone fTz Timezone toTz return pu
  • 在 JList 中写一些东西

    嘿 我还有另一个问题 我创建JList在我的主窗口中 现在我想向其中添加一些内容 我这样做 private void jButton2ActionPerformed java awt event ActionEvent evt Dodaj
  • 将更改(永久)保存在数组列表中?

    那可能吗 例如 用户将新的项目 元素添加到数组列表 缓冲读取器进程 中 并且肯定会发生更改 我的问题是 即使用户多次更改数组列表 它也可能会永久存在 即使他们关闭程序并再次打开它 它也会一直存在 注意 不使用 txt 很抱歉问这样的问题 但
  • 如何在 Android 中签署 AAR Artifacts?

    我目前正在开发一个 AAR android 库 我想用我自己的密钥对已发布的工件进行签名 以便我可以确定我是否发布了具有相同名称和功能的假 aar 注意事项1 我希望能够以编程方式检查我的库的真实性 即使是一个伪造的库 只是伪造了我的 aa
  • 简单的Java程序插入USB热点后速度慢100倍

    我有以下Java程序 class Main public static void main String args throws java io IOException long start System nanoTime java io
  • 字符串 a == 字符串 b 的规则 [重复]

    这个问题在这里已经有答案了 我试图了解字符串池的工作原理以及一个字符串等于另一个字符串的规则是什么 例如这个片段 public static void main String hi String s1 lol String s2 lol S
  • Android 的@hide 注解到底有什么作用?

    Android中很多内部API都被标记出来了 hide What exactly这是吗 另一个答案 https stackoverflow com questions 17035271 what does hide mean in the
  • 基于磁盘的 HashMap [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Java 是否有 或者是否有可用的库 允许我拥有基于磁盘的 HashMap 它不需要是原子的或任何东西
  • 更改JavaFX TableView字体大小[重复]

    这个问题在这里已经有答案了 您好 我想在表视图列内的文本上设置字体 我如何用 Java 做到这一点 这是我的代码 感谢帮助 private final TableView
  • 用二进制数、常规数字和格雷编码填充矩阵

    我有一个包含 1 s 或 0 s 的矩阵 用于创建二进制数 其宽度为n 对于 n 2 和 n 3 它看起来像 00 000 01 001 10 010 11 011 100 101 110 111 等等 现在我正在使用以下代码来生成它 in
  • SFTP Java - 管道关闭 Jsch 异常

    我正在研究一种 java 方法 将文件从一个位置复制到另一个远程位置 我的代码如下 我尝试使用jsch 0 1 42 0 1 50 0 1 54 public static void processFiles ArrayList
  • Java中如何将Object[]转换为String[]?

    我有一个关于 Java 的问题 我有一个Object Java默认的 不是用户定义的 我想将它转换为String 谁能帮我 谢谢 这是转换 for int i 0 i lt objectArr length i try strArr i o
  • 为什么我无法使用 HttpUrlConnection 上传第一个文件块?

    在我的项目中 我应该从一台服务器逐块下载文件 并将每个块立即上传到另一台服务器 我有一个应该下载的文件的 URL 我们就这样称呼它吧downloadUrl 因此 这就是我逐块下载文件的方式 val chunkSize 1024 1024 B
  • java.lang.IllegalStateException:FragmentManager 已被销毁

    活动中onResume我称之为 volley request 的方法 它获取项目列表 然后将它们加载到此活动内的 ListFragment 中 当我第一次进入活动时 一切正常 但当我重新进入活动时 ListFragment 为空 并且控制台
  • Java无损保存原始JPEG

    如下所示 我有第一张图像是原始 JPEG 图像 第二张图像用于缓冲图像 然后使用保存http www lac inpe br JIPCookbook 6040 howto compressimages jsp http www lac in
  • 使用 SimpleDateFormat、Java 进行错误的日期解析

    我需要使用日期模式 yyyy MM dd 解析输入字符串中的日期 如果日期采用任何其他格式 则抛出错误 这是我解析日期的代码 private void validateDate throws MyException Date parsedD
  • 不鼓励在Web应用程序中使用线程吗?

    我们与同事就在 Java 的 Web 应用程序中使用线程进行了激烈的讨论 他们的观点是 不建议在 Java Web 应用程序中使用线程 因为它们不受容器管理 一般来说 我对此表示同意 因为线程可能会干扰容器 但是 如果它不是 Java EE
  • SWT StyledText 有高度限制吗?

    我正在尝试创建一个应用程序 其中包含在 ScrolledComposite 中显示的 StyledText 框 我在 StyledText 框中显示大量行时遇到困难 超过 2 550 行似乎会导致问题 StyledText 框本身不能有滚动

随机推荐

  • 将 UIImage 设置为 UIBarButton 项

    我似乎无法向此 UIBarButtonItem 添加图像 而不会在触摸时崩溃 UIBarButtonItem backButton UIBarButtonItem alloc initWithTitle Back style UIBarBu
  • Go 中的 Getter 和 Setter 约定

    Case A不遵循 Getter Setter 约定 人类 人类 go package human type Human interface GetName string SetName name string type Person st
  • “时间戳”的默认值无效

    我的数据库出现错误 我遇到无效的时间戳默认值 这是我的数据库 CREATE TABLE IF NOT EXISTS post id int 11 NOT NULL text varchar 10000 NOT NULL threadId i
  • iPhone 和 Mac 之间的通信

    我计划创建一个应用程序 从 iPhone 获取数据并将其发送到 Mac 上的另一个应用程序 陀螺仪数据也将被发送 我假设这最好通过蓝牙连接来完成 有人可以给我一些关于我应该如何构建应用程序或者是否可能的信息吗 我想说实现这一点的最理想方法是
  • 如何根据最小样本量在 R 中对数据框进行子集化

    假设您有一个包含两个因素级别的数据框 如下所示 Factor1 Factor2 Value A 1 0 75 A 1 0 34 A 2 1 21 A 2 0 75 A 2 0 53 B 1 0 42 B 2 0 21 B 2 0 18 B
  • 尝试获取 Pinterest 访问令牌时出现错误

    我的问题类似到这个 https stackoverflow com questions 38070424 how to get an pinterest access token我已遵循尝试获取 Pinterest 访问令牌的每一步 htt
  • 我们如何使用 Spacy minibatch 和 GoldParse 来使用 BILUO 标记方案训练 NER 模型?

    我对 spacy ner 模型的输入数据位于BILUO标记方案 我希望使用相同的作为某些要求的一部分 当我尝试在没有小批量的情况下简单地训练模型时 它工作得很好 注释部分 但我无法弄清楚如何在这里使用 minibatch 和 GoldPar
  • 无法使用 Web Compiler 2015 编译嵌套的 less 文件

    好吧 当我为 Visual Studio 2015 安装 Web Essentials 2015 时 我感到非常惊讶 因为它不再包含 less 编译器 Web Essentials 2015 不再包含捆绑和缩小 JS CSS 和 HTML
  • 仅返回elasticsearch原生查询Java api中的特定字段

    我正在构建一个本机查询 但我只想返回某些字段 所有这些字段都保存在父字段中 我想我正在寻找相当于 REST API source 的 QueryBuilders 或 NativeSearchQueryBuilder 这是一个代码示例 Nat
  • 使用 HTML 在 MVC 中提交表单

    我有一个使用 MVC5 和 C 的 Web 应用程序 在此应用程序中 我有一个带有一个下拉列表和一个提交按钮的表单 如下所示
  • Weblogic 无法找到具有“正确”JNDI 名称的资源适配器进行绑定

    我正在尝试将消息驱动 bean 与 Weblogic 10 3 5 上的 Oracle JCA 文件适配器 包含在 SOA 套件中 绑定 这样当有任何 txt 文件移动到特定目录时我的 MDB 就能收到通知 启动支持 SOA 功能的 Web
  • 如何使用password_hash注册并登录

    我试图弄清楚如何在注册和登录系统上使用password hash 目前我正在使用这样的password hash来注册我的用户 pass POST Pass hashed password password hash pass PASSWO
  • Tomcat 活动线程堆积并导致服务器停顿

    我们的生产服务器 apache tomcat 7 0 6 遇到了这个问题 该服务器正在运行使用 MySQL 作为数据库的 Spring JPA Hibernate 应用程序 在此问题期间 服务器变得缓慢 在一分钟内变得无响应 活动 tomc
  • 上传一个sqlite文件

    我正在使用 AFNetworking 尝试上传文件 void uploadFile NSArray paths NSSearchPathForDirectoriesInDomains NSDocumentDirectory NSUserDo
  • Android短信通知问题

    我正在尝试学习 android 所以我正在制作一些应用程序来使用它 我现在正在做的一个问题 我正在尝试制作一个短信通知应用程序 但它总是在模拟器中强制关闭 这是我的代码 import android app Notification imp
  • 低级键盘挂钩

    我刚刚买了一个新键盘 我有兴趣准确跟踪键盘整个使用寿命期间我按下 敲击的次数 我只想记录 keyUp 因为我不关心重复 我一直在搜索最好的方法来做到这一点 但我什至不知道该采取什么方法 所以我在智能搜索方面遇到了困难 另外 我真正使用过的唯
  • 如何在不使用 Distinct 的情况下删除 SQL 查询中的重复项?

    下面的查询结果有重复 我的问题是如何摆脱subTaskName不使用重复distinct SELECT tasks priority SELECT tasks name FROM tasks WHERE tasks taskid 11377
  • Perl、LibXML 和模式

    我有一个示例 Perl 脚本 我试图根据模式加载和验证文件 它们询问各个节点 usr bin env perl use strict use warnings use XML LibXML my filename source xml my
  • 是否可以从 Visual Studio 复制代码并将格式化代码粘贴到 OneNote 中?

    有没有办法从 Visual Studio C 复制代码并将其粘贴到 OneNote 中 而不会丢失格式 我能够做到这一点 但前提是我从 VS 复制 粘贴到 Word 从 Word 复制 然后粘贴到 OneNote 这是一个默认情况下似乎被禁
  • 如何获取 java.util.Timer 中的剩余时间?

    如何获取 util Timer 中的剩余时间 我想要做的是添加一个进度条 显示计时器重新开始之前剩余的时间 这就是我到目前为止所得到的 int seconds 8 java util Timer timer new Timer timer