我有(我认为是)一个简单的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