У меня проблема с куском моего кода на Java, похоже, создается бесконечный цикл.Проблемы с Java Swing Timer и бесконечными циклами
public void progress(){
x = 3;
timer = new Timer(800, new ActionListener() {
public void actionPerformed(ActionEvent evt){
System.out.println(x);
x--;
if(x < 1){
UI();
timer.stop();
}
}
});
timer.start();
}
Метод UI запрашивает ввод через SavichIn, и он, похоже, не запускает линию. Я печатаю перед тем, как я попрошу ввести его в пользовательский интерфейс, и печать работает просто отлично. Когда я удаляю этот таймер из своего кода и сохраняю метод UI одинаковым, он отлично работает. Печатает, а затем берет ввод. Я также добавил timer.stop() в методе пользовательского интерфейса, и я уверен, что таймер остановлен, однако после запуска программы я вынужден перезагрузить виртуальную машину в следующий раз, иначе она не будет запущена. Любая помощь приветствуется!
попытка timer.stop(); Пользовательский интерфейс(); –
Ваш метод 'UI()' вероятно, должен вызываться в фоновом потоке. –