Java无法在无限循环中更改标签的文本并检查变量的状态



我有一个无限循环程序,当点击一个按钮时进入循环,这个按钮使CONFLAG=true,我有另一个按钮,这使CONFLAG_false。我想在点击按钮1时进入循环并在点击按钮2时退出。在这个循环中,我还有另一个问题,程序必须更改jLabel3的文本,但它卡住了,只是重新生成谢谢

while(true)
{
Regenerate((GENNUM-200));
Arrays.sort(gend,descTime);
jLabel3.setText(Integer.toString(gend[1].time));
if(CONFLAG==false)
break;
}

我有一个无限循环,当按钮点击时,程序进入循环

然后您的代码正在事件调度线程上执行,并且您阻止GUI响应事件或重新绘制自己,直到代码执行完毕。

您需要创建一个单独的线程来执行这个循环中的代码。最简单的方法是使用SwingWorker,然后可以在标签上显示publish中间结果。阅读Swing教程中关于并发性的部分,了解更多信息和示例。

最新更新