2
的努力工作,這一點我難倒了幾個小時後。我對Java有點新,並且可以使用一些幫助。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;
}
奇怪的是,它給我這個錯誤,而調試,然後繼續完美無瑕地運行。它通過可運行jar文件啓動時也可以正常工作。
難道你不愛[heisenbugs(http://en.wikipedia.org/wiki/Heisenbug)? – amit 2012-04-14 23:30:45
我想通了。我只是多次調用createBufferStrategy()。 :d – TheElephantSeal 2012-04-14 23:34:00
這可能是未來的讀者有幫助。一旦您完成了解決這一問題 - 你應該張貼什麼問題究竟是你如何設法解決這個問題。 [作爲一個答案 - 沒有什麼錯在回答自己的問題,只要它適合與口感好] – amit 2012-04-14 23:35:48