저는 게임을하고 있습니다. 배가 죽었을 때 나는 GIF 폭발을 보여주는 스레드를 만듭니다. 문제는 때때로 폭발이 사라지지 않고 게임이 끝날 때까지 화면에 머물러있게된다는 것입니다."Daemon Thread Image Animator"가 끝나지 않았습니다
디버깅에서 "Daemon Thread Image Animator -0"이 실행 중이고 GIF가 실행되는 것으로 보았습니다. 이것은 폭발의 코드입니다 :
public void run(){
setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imag/explosion.gif")));
Point pos = this.getLocation();
setBounds(pos.x,pos.y);
try{
Thread.sleep(500);
}
catch(Exception e){
e.printStackTrace();
}
juego.removeEntidad(this);
}
때로는이 문제가 발생하지 않고 수정 방법을 모른다.
너무 말하기가 어렵거나, 스윙과 함께 사용자 Thread.sleep (int)가있는 경우 (더 자세한 정보는 Oracle 튜토리얼 EventDispatchThread를 참조하십시오.) SSCCE/MCVE, short, runnable, compilable – mKorbel