栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在java.util.Timer中剩余时间?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在java.util.Timer中剩余时间?

您将需要第二个计时器以特定间隔刷新gui。
实现此目的的另一种方法是每秒激活一个计时器并更新ui中的计数。如果时间到了,请致电您的具体措施。

一个仅带有控制台输出的简单示例:

TimerTask task = new TimerTask(){    int seconds = 8;    int i = 0;    @Override    public void run()    {       i++;       if(i % seconds == 0)System.out.println("Timer action!");       elseSystem.out.println("Time left:" + (seconds - (i %seconds)) );    }};Timer timer = new Timer();timer.schedule(task, 0, 1000);

它的输出将是:

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

然后只需使用代码更改System.out即可更新进度条。记住:

java.util.Timer
开始自己
Thread
。Swing不是线程安全的,因此您需要将每个gui更改代码放入
SwingUtilities.invokeLater()

如果您不执行任何长时间运行的任务,则每次计时器达到8秒标记时,您可能都希望
javax.swing.Timer
直接使用它。它使用EDT而不是使用它自己的EDT
Thread
,因此您不需要使用来同步对Swing组件的调用
SwingUtilities.invokeLater()




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410545.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号