2012-02-10 79 views
2

我需要编写一个应用程序,它会每X次检查一次并将其更新到GUI comtols。 我在java中有一些小知识,之前编写了一些应用程序,但我从来没有处理过像多线程和更新GUI的东西。已更新gui应用程序

虽然这将是一件容易的事,所以我开始编写我的软件。其他一切都很正常。我不能让应用程序每隔X次执行一次检查,然后更新GUI。

有人可以请给一些指导呢?我看着什么?常用的做法是什么? 它是线程吗?递归?还要别的吗?

另外如果可能的话,给我一些代码示例,我可以更好地理解。

感谢您的努力!

回答

6

我假设你正在使用Swing。如果是这样,请使用Swing Timer

或者,如果检查本身是不能在GUI线程来完成(因为它会冻结它)一些长时间运行的任务,然后使用SwingWorker,并提交给由Executors类创建的ScheduledExecutorService

2

试着这么做:

​​

定时器(也有至少两个,在摆动和使用率)有很多的乐趣和优雅,但有时​​你需要把工作做好。用你的“X时间”替换我的500。确保在EventQueue上进行Swing调用!如果InterruptedException被抛出,也许会添加一条消息。

查看SwingWorker;它会以更安全的方式做同样的事情,但如果你要做很多这样的事情,你可能会发现自己做更多的力量。