java - 在线程停止时显示计时器增量?Java定时器/定时器任务
问题描述
我正在尝试设计一个秒表,它根据用户通过 GUI 输入的秒数停止。我希望能够在标签中显示每一秒的过去,该标签目前仅在我取消对何时停止计时器的任何限制时才有效。但是,如果我添加一个代码在所需的经过时间后停止计时器,代码将按原样运行,并且计时器在指定时间后停止,但不会在“secondsJLabel”标签中显示每个增量,显示每秒过去了。我的一部分想知道是否可以同时运行另一个代码,它只是等待并检查经过的秒数是否等于用户输入的秒数,然后在它相等时执行。但我只是不知道如何搜索我需要的东西。
这不是为了学校,而是个人项目。对任何和所有批评持开放态度,因为我是编码新手。这甚至是你做计时器的方式吗?
这是我的“开始”按钮的代码。
long timeToStop = Integer.parseInt(desiredTimeJTextField.getText());
TimeKeeper myKeeper = new TimeKeeper();
TimerTask task = new TimerTask()
{
public void run()
{
secondsPassed++;
secondsJLabel.setText(Integer.toString(secondsPassed));
}
};
myKeeper.start(task);
try{
Thread.sleep(timeToStop*1000);
} catch (InterruptedException exc){}
myKeeper.stop(task);
解决方案
推荐阅读
- excel - 使用 VBA 将整数转换为文本
- python - 如何通过获取文本文件内容来修改 JSON 值?
- mysql - 是否可以在 RDS 中创建多源只读副本
- wordpress - 如何在 Wordpress 中为每个网站页面添加单独的分析
- sql-server - 创建具有列年龄类别的表(18-34、35-49、50-64、65+)
- python - 将 python 2.7 中的 im_class 转换为 python 3.8
- sql - 如何获取每个客户的询问列
- html - 侧面菜单中的 Angular 页面导航
- git - git push 覆盖远程存储库上的更改
- javascript - 是否有替代图像映射能够更改图像上特定 div 区域的背景颜色的方法?