0
netbeans를 사용하여 Java 애플릿의 트랙을 따라 경주하는 두 개의 캐릭터를 모델링하는 프로그램을 만들려고합니다. 현재 레이싱 로직과 그래픽이 잘 작동하지만 캐릭터가 개별적으로 움직일 때마다 지연을 구현하는 데 문제가 있습니다. Java 지연 메소드가 시스템을 충돌 함
이 지연을 만들려면, 나는 현재이 방법을 쓴 :public void delay()
{
try
{
Thread.sleep(500);
}
catch (InterruptedException ie)
{
ie.printStackTrace();
}
}
그러나,이는 애플릿 뷰어를 충돌 너무 많이 지연 할 수있는 프로그램을 발생합니다. 시스템을 지연시키지 않도록 시스템을 지연시키는 방법은 무엇입니까?
답변 해 주셔서 감사합니다.
구성 요소가 AWT 또는 스윙을 기반으로합니까? 어느 쪽이든, EDT (Event Dispatch Thread)를 막지 마십시오. GUI가 그럴 때 멈출 것입니다. 'Thread.sleep (n)'을 호출하는 대신에 태스크를 반복하기 위해 Swing Timer를 구현하거나 장시간 실행되는 태스크를 위해 SwingWorker를 구현하십시오. 자세한 내용은 [동시성의 동시성] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/)을 참조하십시오. –