2012-04-14 3 views
2

이 작업을 시도하는 데 몇 시간이 지나면 나는 곤혹 스럽습니다. 나는 자바에 다소 익숙하며 도움을받을 수있다.BufferStrategy 불법적 인 상태 예외

스택 추적 :

java.lang.IllegalStateException: Component must have a valid peer 
at java.awt.Component$FlipBufferStrategy.createBuffers(Unknown Source) 
at java.awt.Component$FlipBufferStrategy.<init>(Unknown Source) 
at java.awt.Component$FlipSubRegionBufferStrategy.<init>(Unknown Source) 
at java.awt.Component.createBufferStrategy(Unknown Source) 
at java.awt.Canvas.createBufferStrategy(Unknown Source) 
at java.awt.Component.createBufferStrategy(Unknown Source) 
at java.awt.Canvas.createBufferStrategy(Unknown Source) 
at com.mime.crystalnova.Display.render(Display.java:148) 
at com.mime.crystalnova.Display.run(Display.java:112) 
at java.lang.Thread.run(Unknown Source) 

오류는 여기에 코드 줄에 나타납니다 :

BufferStrategy bs = getBufferStrategy(); 
if (bs == null) { 
    createBufferStrategy(3); 
    return; 
} 

이상한 것은 그것이 나에게 디버깅하는 동안이 오류를 준다이다 다음에 계속 완벽하게 실행하십시오. runnable jar 파일을 통해 실행될 때도 정상적으로 작동합니다.

+0

당신은 [heisenbugs] (http://en.wikipedia.org/wiki/Heisenbug)를 좋아하지 않습니까? – amit

+1

나는 그것을 이해했다. 나는 단순히 createBufferStrategy()를 너무 많이 호출했다. : D – TheElephantSeal

+1

미래의 독자들에게도 도움이 될 수 있습니다. 이 문제를 완료 한 후에는 문제가 정확히 무엇인지 어떻게 해결했는지 게시해야합니다. [대답으로 - 당신의 자신의 질문에 답할 때, 그것이 적합하고 좋은 취향이있는 한 잘못된 것은 아무것도 없습니다.] – amit

답변

3

createBufferStrategy()으로 전화를 걸었을 때 아직 보이지 않는 구성 요소와 관련이있을 것입니다. 나중에 전화 해보십시오.

앱이 계속 실행된다는 사실은 구성 요소가 버퍼링되지 않은 전략으로 기본 설정되었음을 의미합니다.

관련 문제