我的服务器中有一个奇怪的例外 相同的应用程序(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)
答案 0 :(得分:15)
尝试将以下参数添加到java命令行:
-Dsun.java2d.d3d=false
答案 1 :(得分:4)
尝试了以下内容,
-Dsun.java2d.d3d =假
-Dsun.java2d.noddraw =真
-Dsun.java2d.ddoffscreen =假
-DJ2D_D3D =假
并没有找到解决方案,我偶然发现了有效的方法。
jframe.createBufferStrategy(1);
答案 2 :(得分:2)
Oracle错误数据库就是这种情况:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6933331。
来自错误评估:
..其他没有任何后果 而不是控制台中的堆栈跟踪转储(没有挂起,没有报告可视化工件)