Hello,
I want to paint a SVG directly on a Graphics2D (including dynamic SVG),
without creating first a BufferedImage. Therefore I do not want to use the
DynamicRenderer. I tried it this way:
// adapt UpdateManager
class UpManager extends UpdateManager
{
public UpManager(BridgeContext b, GraphicsNode g, Document d) {
super(b, g, d);
}
protected void updateRendering(List l)
{}
protected void repaint() {
centerPanel.repaint();
}
}
class Panel extends JPanel
{
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
if (gvtRoot != null) {
gvtRoot.paint(g2d);
}
}
GraphicsNode gvtRoot;
}
But there seems to be a threading problem doing it this way, because
sometimes I get an NullPointerException. So are there any restrictions for
using the
GraphicsNode.paint()-method concerning threads?
at java.awt.geom.RectangularShape.intersects(Unknown Source)
at org.apache.batik.gvt.AbstractGraphicsNode.getBounds(Unknown Source) at
org.apache.batik.gvt.AbstractGraphicsNode.paint(Unknown Source) at
org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(Unknown
Source)
at org.apache.batik.gvt.AbstractGraphicsNode.paint(Unknown Source) at
gui.TestAbleitung$Panel.paintComponent(TestAbleitung.java:312) 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)
Thanks for any help!
Stephan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]