Это мой основной метод, с помощью которого я запускаю свое приложение. JFrame загружается успешно. Когда я добавляю часть WHILE-Loop, чтобы выполнить некоторую фоновую работу, когда я работаю с некоторыми данными, чтобы показать их в моем JFrame, мой 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
и правильной обработкой (я думаю, что использую что-то не в том месте), но я не могу исправить это самостоятельно.
Основные знания:
Я хочу получить JSON-String из URL-адреса (методы для этого работают - я хочу вызывать и показывать результаты в кадре) каждые 5 минут (поэтому цикл while).
ИЗМЕНИТЬ:
Я попробовал это, которое правильно загружает кадр, но делает цикл (который мне нужен) бесполезным:
while (true) {
Main window = new Main();
window.frmServicenowHelper.invalidate();
window.frmServicenowHelper.validate();
window.frmServicenowHelper.repaint();
window.frmServicenowHelper.setVisible(true);
break;
}