Google 網路論壇不再支援新的 Usenet 貼文或訂閱項目,但過往內容仍可供查看。

ImageIcon paint problem in JDK 1.4 on Linux/X

瀏覽次數:0 次
跳到第一則未讀訊息

Andy Krieg

未讀,
2002年4月24日 下午5:32:392002/4/24
收件者:
I am porting an application that has been in production for a couple of
years from JDK 1.2.2 to JDK 1.4.0. It runs on Linux 6.0 and X-Windows.
I have found that the screens that contain an ImageIcon object, do not
paint properly. The screen will appear to be empty, but actually has
components in it that haven't painted. If you click on the 'live'
components, they will paint. The ImageIcons are never displayed though.

Here is a typical error trace reported when displaying a screen with an
ImageIcon:

java.lang.InternalError: not implemented yet
at sun.awt.X11SurfaceData.getRaster(X11SurfaceData.java:155)
at
sun.java2d.loops.OpaqueCopyAnyToArgb.Blit(CustomComponent.java:67)
at
sun.java2d.loops.GraphicsPrimitive.convertFrom(GraphicsPrimitive.java
:452)
at sun.java2d.loops.MaskBlit$General.MaskBlit(MaskBlit.java:186)
at sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Blit.java:170)
at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:627)
at
sun.java2d.pipe.DrawImage.renderSurfaceData(DrawImage.java:355)
at
sun.java2d.pipe.DrawImage.clipAndRenderSurfaceData(DrawImage.java:333
)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:64)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:48)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:715)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2782)
at
sun.awt.image.ImageRepresentation.drawToBufImage(ImageRepresentation.
java:726)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:722)
at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:147)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2782)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2772)
at javax.swing.ImageIcon.paintIcon(ImageIcon.java:322)
at
javax.swing.plaf.basic.BasicLabelUI.paint(BasicLabelUI.java:152)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
at javax.swing.JComponent.paintComponent(JComponent.java:537)
at javax.swing.JComponent.paint(JComponent.java:804)
at javax.swing.JComponent.paintChildren(JComponent.java:643)
at javax.swing.JComponent.paint(JComponent.java:813)
at javax.swing.JComponent.paintChildren(JComponent.java:643)
at javax.swing.JComponent.paint(JComponent.java:813)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:552)
at javax.swing.JComponent.paintChildren(JComponent.java:643)
at
javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4742)
at
javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4688)
at javax.swing.JComponent.paint(JComponent.java:794)
at
java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
at
sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:
60)
at
sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97
)
at java.awt.Container.paint(Container.java:1123)
at sun.awt.RepaintArea.paint(RepaintArea.java:180)
at
sun.awt.motif.MComponentPeer.handleEvent(MComponentPeer.java:339)
at java.awt.Component.dispatchEventImpl(Component.java:3586)
at java.awt.Container.dispatchEventImpl(Container.java:1437)
at java.awt.Window.dispatchEventImpl(Window.java:1566)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:190)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:144)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)

Has anyone else encountered this? Is there a workaround?

Andy Krieg

未讀,
2002年4月24日 下午6:18:232002/4/24
收件者:

Juergen Kreileder

未讀,
2002年4月25日 上午11:13:452002/4/25
收件者:
Andy Krieg <an...@merge.com> writes:

> I am porting an application that has been in production for a couple
> of years from JDK 1.2.2 to JDK 1.4.0. It runs on Linux 6.0 and
> X-Windows. I have found that the screens that contain an ImageIcon
> object, do not paint properly. The screen will appear to be empty,
> but actually has components in it that haven't painted. If you
> click on the 'live' components, they will paint. The ImageIcons are
> never displayed though.
>
> Here is a typical error trace reported when displaying a screen with
> an ImageIcon:
>
> java.lang.InternalError: not implemented yet
> at sun.awt.X11SurfaceData.getRaster(X11SurfaceData.java:155)

See http://developer.java.sun.com/developer/bugParade/bugs/4517321.html


Juergen

--
Juergen Kreileder, Blackdown Java-Linux Team
http://www.blackdown.org/java-linux.html
Run Java 2 SE v1.3.1 on your iPAQ:
http://www.handhelds.org/pipermail/ipaq/2001-June/007221.html

0 則新訊息