2010-03-19 63 views
0

我想有一个简单的窗体(单选按钮等)窗口。用户可以选择并按下“提交”按钮。除此之外,我想设置一些时间限制。更详细地说,用户应该看到他/她还有多少秒钟(所以,应该有一个计时器)。如果时间限制超出,程序关闭窗口并提交一个“默认”选择。我应该使用两个可以相互杀死的线程吗?

据我了解,我需要为此生成2个线程。一个会监视窗口中的用户活动(选择哪个单选按钮等)。

另一个线程应该创建一个计时器来检查每秒的剩余时间,并以某种方式将该信息放入窗口中。

此外,这两个线程应该能够互相杀死。例如,如果按下“提交”按钮,则第一个线程会杀死定时器。或者如果超过时间,第二个线程(定时器)会终止第一个进程。

这是一个很好的建筑吗?我需要你的意见,因为我第一次做这样的事情。

回答

3

虽然有些尴尬,但有可能两个线程互相残杀。

但是,我不认为你需要两个线程。

您可以使用摆动计时器(请参阅此tutorial)来运行时钟。当你点击“提交”时,你可以通过调用stop()方法来停止定时器。 Swing定时器在GUI线程上运行,所以你不会得到并发头痛。

+0

+1 * JOKE *:和现实生活中一样,当同一物种的两件东西试图互相残杀时,它总是会变得混乱......让上帝(或者在这个例子中是一个计时器)做这样的事情会更好事情。 – Crisfole 2011-02-02 19:45:58

相关问题