BufferStrategy使用非法状态异常(BufferStrategy Illegal Stat

2019-09-16 13:38发布

的努力工作,这一点在几个小时后,我很为难。 我有点新的Java和可以使用一些帮助。

堆栈跟踪:

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文件推出,以及它工作正常。

Answer 1:

它可能得到你呼叫的时间与组件不可见做又createBufferStrategy()它已经有一段时间)。 尝试在以后调用它。

你的应用程序继续运行的可能,这意味着默认的非缓冲策略的组成部分。



文章来源: BufferStrategy Illegal State Exception