In case someone else runs into this, I located the problem.
The example given on the Batik web site is a bit misleading.
Normally in Swing you do your painting in paintComponent(),
a protected method, not in paint(), and it is in that method
that you put all your custom painting code. Thus if you do
not override paint() and double-buffering is on, a call to
paint() will result in the buffered bitmap of the scene being
written to the SVGGraphics2D object (unless the scene was
never rendered before, inc which case the SVG will simply
be empty).

Possible remedies to get proper SVG include:
* do not use paint() at all but your own method, say,
  paintSVG() that simply forwards to paintComponent();
  obviously this only works if you can modify the widget
  source
* turn double-buffering off and on again around the call
  to paint(); this is fully general

-- O.L.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to