java:IllegalStateException - 尚未创建缓冲区

时间:2011-06-22 08:23:43

标签: java exception

我的服务器中有一个奇怪的例外 相同的应用程序(java,swing)在几台服务器上运行 每台服务器都运行双监视器。 相同的jre版本(jre 6版本24) 所有这些都在相当的CPU /内存消耗。

仅在其中一个中 - 当我将应用程序从一个监视器拖到另一个监视器时,它会抛出java.lang.IllegalStateException异常。我在下面附上了完整的例外情况。 有谁有想法吗 ?

谢谢。

现在,例外:

java.lang.IllegalStateException: Buffers have not been created
    at sun.awt.windows.WComponentPeer.getBackBuffer(Unknown Source)
    at java.awt.Component$FlipBufferStrategy.getBackBuffer(Unknown Source)
    at java.awt.Component$FlipBufferStrategy.updateInternalBuffers(Unknown Source)
    at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)
    at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)
    at java.awt.Component$FlipBufferStrategy.getDrawGraphics(Unknown Source)
    at javax.swing.BufferStrategyPaintManager.prepare(Unknown Source)
    at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
    at javax.swing.RepaintManager.paint(Unknown Source)
    at javax.swing.JComponent.paint(Unknown Source)
    at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
    at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
    at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
    at java.awt.Container.paint(Unknown Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

3 个答案:

答案 0 :(得分:15)

尝试将以下参数添加到java命令行:

-Dsun.java2d.d3d=false

答案 1 :(得分:4)

尝试了以下内容,

-Dsun.java2d.d3d =假
-Dsun.java2d.noddraw =真
-Dsun.java2d.ddoffscreen =假
-DJ2D_D3D =假

并没有找到解决方案,我偶然发现了有效的方法。

jframe.createBufferStrategy(1);

http://www.java-gaming.org/index.php/topic,25021.0

答案 2 :(得分:2)

Oracle错误数据库就是这种情况:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6933331

来自错误评估:

  

..其他没有任何后果   而不是控制台中的堆栈跟踪转储(没有挂起,没有报告可视化工件)