0
这是我启动我的应用程序的主要方法。 JFrame加载成功。当我添加WHILE循环部分做一些后台工作,我的一些数据显示在我的JFrame上显示我的JFrame无法正确加载(见下图)。循环后的Java JFrame加载错误
public static void main(String[] args) throws IOException {
if (Config.checkIfConfigExists() == true) {
/*
* Starten der Anwendung
*/
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main window = new Main();
window.frmServicenowHelper.invalidate();
window.frmServicenowHelper.validate();
window.frmServicenowHelper.repaint();
window.frmServicenowHelper.setVisible(true);
while (true) {
// the part that makes it error
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
} else {
Notifications.alertMSGConfig("Config not found. Create one?");
}
}
正如你所看到的JFrame冻结并显示其背景。
我发现它是与Threads
和正确处理(我想我使用的东西在错误的点),但我不能要自己解决。
背景知识:
我想从一个URL的JSON字符串(该方法的工作 - 我想打电话给&显示框上的结果),每5分钟(因此而环)。
编辑:
我尝试这样做,其正确地加载帧而是使得环(我需要)没用:
while (true) {
Main window = new Main();
window.frmServicenowHelper.invalidate();
window.frmServicenowHelper.validate();
window.frmServicenowHelper.repaint();
window.frmServicenowHelper.setVisible(true);
break;
}
你在重新粉刷之前睡了一段时间吗?您确定多个线程不在JFrame上运行吗? –
@AlexBaranowski我在任何时候都没有睡觉 - 我很确定它只有一个线程。添加** break; **使其工作,但使循环无用,我需要 – piguy