我有(我認爲是)一個簡單的BufferStrategy中一個JFrame。它創建像這樣:「緩衝區尚未創建」 ......同時,緩衝區的建立
// Buffer
container.createBufferStrategy(2);
strategy = container.getBufferStrategy();
然而,偶爾我收到以下錯誤(其指向在前述片段作爲違規項目的第一行):
java.lang.IllegalStateException:緩衝器尚未創建
此錯誤是特殊的,因爲它來得快,去 - 有時它被觸發時,有時沒有。我嫌疑人這意味着這是一個線程問題。有沒有人有任何指示可能會發生什麼?我有點茫然,因爲我已經試圖做Java說它要我做的事情!
編輯:全部跟蹤:
Exception in thread "main" java.lang.IllegalStateException: Buffers have not been created
at sun.awt.windows.WComponentPeer.getBackBuffer(WComponentPeer.java:877)
at java.awt.Component$FlipBufferStrategy.getBackBuffer(Component.java:3815)
at java.awt.Component$FlipBufferStrategy.updateInternalBuffers(Component.java:3800)
at java.awt.Component$FlipBufferStrategy.createBuffers(Component.java:3791)
at java.awt.Component$FlipBufferStrategy.<init>(Component.java:3730)
at java.awt.Component$FlipSubRegionBufferStrategy.<init>(Component.java:4253)
at java.awt.Component.createBufferStrategy(Component.java:3612)
at java.awt.Window.createBufferStrategy(Window.java:3015)
at java.awt.Component.createBufferStrategy(Component.java:3536)
at java.awt.Window.createBufferStrategy(Window.java:2990)
請添加完整的堆棧跟蹤你的問題 - 它應該有助於瞭解其* *方法拋出ISE。我查看了jre資源(1.7),但找不到該例外的潛在來源。 – 2010-08-08 21:03:25
這真的是完整的堆棧跟蹤?我們正在尋找您從美國東部時間撥打的證據。繼續並顯示* full *堆棧跟蹤。 – 2010-08-09 00:55:45
@Kevin Day,'線程中的異常「main」'表明這不是來自EDT。 – finnw 2010-08-09 11:48:44