似乎我错过了Java和Swing中的某个点。问题如下:
但是我没有找到Swing GUI注意到线程自行停止的方法: 如果我忽略它,它会使用户感到困惑。 我当然放了一个循环,其中Swing GUI定期询问Thread.isAlive(并且睡了一段时间再问),但是这个循环完全阻止了Swing GUI。 理想情况下,我想获得线程已停止的通知或事件。 就像所有其他事件一样,Swing进程:-)。
设置它的正确方法是什么?
答案 0 :(得分:4)
查看SwingWorker。它被设计为在Swing事件(例如按钮按下)的情况下在后台执行任务。它有钩子来监听任务完成时。
答案 1 :(得分:0)
使用布尔标志'done'私有字段。 initialize done = false;当你的线程run()方法完成时,在thread run()方法中设置done = true。 监视标记'done'的值将告诉你线程何时完成。