首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Swing:事件分派线程与秒表

Java Swing:事件分派线程与秒表
EN

Stack Overflow用户
提问于 2011-03-20 03:52:01
回答 4查看 602关注 0票数 1

我有一个java程序和一个基于Swing的GUI。在主类中,有一些计算被分组到一个单独的线程中。我的问题是:当这些计算开始时,我需要启动一个秒表,在它们继续进行时显示计时器,在它们完成时停止。如果我只需要计算剩下的时间,我会在单独的线程中启动秒表,在主线程中完成所有计算,当它们完成时,停止秒表线程并显示计时器。据我所知,java swing是单线程的。这样我就可以在主秋千上重新绘制秒表的数字

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-20 07:37:40

我读到过SwingWorker似乎就是我需要的。

我会赞同@Ernest Hill的javax.swing.Timer建议,但是这个SwingWorker example是值得探索的。它可能会帮助你利用现有的线程代码。

票数 1
EN

Stack Overflow用户

发布于 2011-03-20 03:56:51

最简单的方法是使用javax.swing.Timer。很容易让计时器发送定期更新事件来更新GUI,并且可以根据需要轻松地停止或重置计时器。

票数 3
EN

Stack Overflow用户

发布于 2011-03-22 20:53:15

首先,我想对大家说声谢谢。

这个问题是通过这样一种方式使用SwingWorker解决的:我在SwingWorker的孩子时期开发的主swing窗口。所有计算均采用doInBackground方法。当它们继续执行时,在SwingUtilities.invokeLater中调用了一个计时器(在单独的线程中)。在done方法中,当所有计算完成时,计时器停止。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5364511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档