import java.awt.*; import java.io.*; import org.apache.batik.swing.*; import org.w3c.dom.DOMImplementation; import org.apache.batik.dom.svg.SVGDOMImplementation; import org.apache.batik.dom.svg.SAXSVGDocumentFactory; import org.apache.batik.util.XMLResourceDescriptor; import org.w3c.dom.svg.*; /** * simple proof-of-concept applet to display an SVG document which is embedded in the page * as an applet parameter. Requires Batik, and Xerces to compile/run * To compile: * export CLASSPATH=.:batik-all.jar:xercesImpl.jar * javac BatikApplet.java * * See batiktest.html for more info on running it */ public class BatikApplet extends java.applet.Applet { JSVGCanvas svgCanvas; public void init() { try { svgCanvas = new JSVGCanvas(); svgCanvas.setDoubleBufferedRendering(true); this.add(svgCanvas, BorderLayout.CENTER); String svg = getParameter("svg"); if (svg != null && !svg.equals("")) { String parser = XMLResourceDescriptor.getXMLParserClassName(); SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser); SVGDocument doc = f.createSVGDocument("file://mytest.svg", new StringReader(svg)); svgCanvas.setDocument(doc); } } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } } }