The JGVTComponent.paintComponent ignores the opacity setting and paints the background in any case: g2d.setComposite(AlphaComposite.SrcOver); g2d.setPaint(getBackground()); g2d.fillRect(visRect.x, visRect.y, visRect.width, visRect.height); A workaround is to set the background to new Color(0x0, true)
(In reply to comment #0) > The JGVTComponent.paintComponent ignores the opacity setting and paints the > background in any case: I take it you are refering to: JComponent.setOpaque(boolean isOpaque) If so your 'workaround' is the correct answer. One might argue that Batik should look at the 'Background' given and setOpaque(flase) if the background color has an alpha less than 1.0 (255). The purpose of setOpaque is to inform Swing that it needs to draw any components that are 'under' the canvas. Otherwise it skips painting them under the assumption that the Canvas will simply cover them. > A workaround is to set the background to new Color(0x0, true) This is in fact the correct thing to do.