我想要一个简单形式的窗口(单选按钮等)。用户可以进行选择并按“提交”按钮。除此之外,我想设定一些时间限制。更详细地说,用户应该看到他/她仍然有多少秒(因此,应该有一个计时器)。如果超出时间限制,程序将关闭窗口并提交“默认”选择。
据我所知,我需要为此生成2个线程。一个人将监视窗口中的用户活动(选择了哪个单选按钮等)。
另一个线程应该创建一个计时器,每秒检查剩余时间,并以某种方式将此信息放入窗口。
而且,这两个线程应该能够相互杀戮。例如,如果按下“提交”按钮,则第一个线程将终止计时器。或者如果超过时间,第二个线程(计时器)将终止第一个进程。这是一个很好的架构吗?我需要你的意见,因为我第一次做这样的事情。
答案 0 :(得分:3)
虽然有点尴尬,但两个线程可能会互相残杀。
但是,我认为你不需要两个线程。
您可以使用Swing计时器(请参阅此tutorial)来运行时钟。单击“提交”时,可以通过调用其stop()方法来停止计时器。美妙的是,Swing计时器在GUI线程上运行,因此您不会遇到并发问题。