Accelerated Canvas & Swing Components

I’ve got a window. In it I have a Canvas which displays an accelerated game area. Now, around it I’d like to put swing components in panels (which arn’t accelerated).

However, when I add a text area and try to put some text in it I get the following error. Almost seems like the text area is trying to draw to the accelerated area… wierd. Even so, does anyone know if this has been implemented yet and/or if this is something where I’ve made a mistake…

Cheers for any help,

Kev

EDIT: SDK1.4.2_03 btw.


java.lang.InternalError: not implemented yet
      at sun.awt.windows.Win32OffScreenSurfaceData.getRaster(Unknown Source)
      at sun.java2d.loops.OpaqueCopyAnyToArgb.Blit(Unknown Source)
      at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
      at sun.java2d.loops.MaskBlit$General.MaskBlit(Unknown Source)
      at sun.java2d.loops.MaskFill$General.MaskFill(Unknown Source)
      at sun.java2d.loops.DrawGlyphList$General.DrawGlyphList(Unknown Source)
      at sun.java2d.pipe.SolidTextRenderer.drawGlyphList(Unknown Source)
      at sun.java2d.pipe.GlyphListPipe.drawChars(Unknown Source)
      at sun.java2d.SunGraphics2D.drawChars(Unknown Source)
      at javax.swing.text.Utilities.drawTabbedText(Unknown Source)
      at javax.swing.text.PlainView.drawUnselectedText(Unknown Source)
      at javax.swing.text.PlainView.drawElement(Unknown Source)
      at javax.swing.text.PlainView.drawLine(Unknown Source)
      at javax.swing.text.PlainView.paint(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI$RootView.paint(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI.paintSafely(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI.paint(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI.update(Unknown Source)
      at javax.swing.JComponent.paintComponent(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
      at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
      at javax.swing.JComponent._paintImmediately(Unknown Source)
      at javax.swing.JComponent.paintImmediately(Unknown Source)
      at javax.swing.RepaintManager.paintDirtyRegions(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.pumpOneEventForHierarchy(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)
java.lang.InternalError: not implemented yet
      at sun.awt.windows.Win32OffScreenSurfaceData.getRaster(Unknown Source)
      at sun.java2d.loops.OpaqueCopyAnyToArgb.Blit(Unknown Source)
      at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
      at sun.java2d.loops.MaskBlit$General.MaskBlit(Unknown Source)
      at sun.java2d.loops.MaskFill$General.MaskFill(Unknown Source)
      at sun.java2d.loops.DrawGlyphList$General.DrawGlyphList(Unknown Source)
      at sun.java2d.pipe.SolidTextRenderer.drawGlyphList(Unknown Source)
      at sun.java2d.pipe.GlyphListPipe.drawChars(Unknown Source)
      at sun.java2d.SunGraphics2D.drawChars(Unknown Source)
      at javax.swing.text.Utilities.drawTabbedText(Unknown Source)
      at javax.swing.text.PlainView.drawUnselectedText(Unknown Source)
      at javax.swing.text.PlainView.drawElement(Unknown Source)
      at javax.swing.text.PlainView.drawLine(Unknown Source)
      at javax.swing.text.PlainView.paint(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI$RootView.paint(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI.paintSafely(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI.paint(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI.update(Unknown Source)
      at javax.swing.JComponent.paintComponent(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JViewport.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JLayeredPane.paint(Unknown Source)
      at javax.swing.JComponent.paintChildren(Unknown Source)
      at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
      at javax.swing.JComponent.paintDoubleBuffered(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 sun.awt.RepaintArea.paint(Unknown Source)
      at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
      at java.awt.Component.dispatchEventImpl(Unknown Source)
      at java.awt.Container.dispatchEventImpl(Unknown Source)
      at java.awt.Window.dispatchEventImpl(Unknown Source)
      at java.awt.Component.dispatchEvent(Unknown Source)
      at java.awt.EventQueue.dispatchEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)
java.lang.InternalError: not implemented yet
      at sun.awt.windows.Win32OffScreenSurfaceData.getRaster(Unknown Source)
      at sun.java2d.loops.OpaqueCopyAnyToArgb.Blit(Unknown Source)
      at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
      at sun.java2d.loops.MaskBlit$General.MaskBlit(Unknown Source)
      at sun.java2d.loops.MaskFill$General.MaskFill(Unknown Source)
      at sun.java2d.loops.DrawGlyphList$General.DrawGlyphList(Unknown Source)
      at sun.java2d.pipe.SolidTextRenderer.drawGlyphList(Unknown Source)
      at sun.java2d.pipe.GlyphListPipe.drawChars(Unknown Source)
      at sun.java2d.SunGraphics2D.drawChars(Unknown Source)
      at javax.swing.text.Utilities.drawTabbedText(Unknown Source)
      at javax.swing.text.PlainView.drawUnselectedText(Unknown Source)
      at javax.swing.text.PlainView.drawElement(Unknown Source)
      at javax.swing.text.PlainView.drawLine(Unknown Source)
      at javax.swing.text.PlainView.paint(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI$RootView.paint(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI.paintSafely(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI.paint(Unknown Source)
      at javax.swing.plaf.basic.BasicTextUI.update(Unknown Source)
      at javax.swing.JComponent.paintComponent(Unknown Source)
      at javax.swing.JComponent.paint(Unknown Source)
      at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
      at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
      at javax.swing.JComponent._paintImmediately(Unknown Source)
      at javax.swing.JComponent.paintImmediately(Unknown Source)
      at javax.swing.RepaintManager.paintDirtyRegions(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.pumpOneEventForHierarchy(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)

Argh, found it… this problem above was cause by setting

sun.java2d.accthreshold=0

Kev

Glad I could be of some help.
/me walks away whistling and looking all innocent ;D