Из-за FileDialog зависает Windows
Когда д программа доходит этого момента, Windows зависает (от 1 сек до нескольких минут)
FileDialog fd = new FileDialog(new JFrame());
fd.setFile(getPathString());
fd.setMode(FileDialog.SAVE);
fd.setVisible(true);
File[] f = fd.getFiles();
if(f.length > 0) {
pathString = fd.getFiles()[0].getAbsolutePath();
save(pathString);
}
game.resume();
Пробовал на Windows 10 и Windows 7 (На семерке так и не развисло)
Код, указанный в этом вопросе можно найти в game.JLight2.saveAs()
Пробовал делать засовывать это в поток, все равно виснет, но гораздо меньше:
Thread t = new Thread(() -> {...};
Ответы (1 шт):
Автор решения: Agzam
→ Ссылка
Ошибка была в другом, я не добавил задержку в поток, с обновлением заголовка setTitle()
Thread title = new Thread(() -> {
while(true) {
setTitle(...);
try { // <- Добавил, что бы работало
Thread.sleep(100); // <- Добавил, что бы работало
} catch (InterruptedException e) { // <- Добавил, что бы работало
} // <- Добавил, что бы работало
}
});
title.start();
Подумать только, что так можно "заморозить" windows