자바 코드에 문제가 있습니다. 무한 루프가 발생하는 것 같습니다.자바 스윙 타이머 및 무한 루프 관련 문제가 있습니다.
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는 SavitchIn을 통해 입력을 요청하고 행을 실행하지 않는 것 같습니다. 내가 UI 메서드에서 입력을 요청하기 전에 인쇄하고 인쇄가 제대로 작동합니다. 내 코드에서이 타이머를 제거하고 UI 메서드를 동일하게 유지하면 정상적으로 작동합니다. 인쇄 한 다음 입력을받습니다. 나는 UI 메서드에서 timer.stop()을 추가했으며, 타이머가 중지되었다고 확신하지만 프로그램을 실행 한 후에는 다음 번에 가상 시스템을 다시 설정해야합니다. 그렇지 않으면 실행되지 않습니다. 어떤 도움을 주셔서 감사합니다!
시도의 timer.stop(); UI(); –
'UI()'메소드는 백그라운드 스레드에서 호출되어야합니다. –