Hi guys this is my first post in the forum. I'm just started to use the batik framework. I'm writing an applet to show a svg file. I use eclipse as IDE to develop the applet an it works. It show me the svg file. When i tried to do the same on an html page using the applet tag, the applet doesn't show at all. I've added an display message on start of the applet and i see it but the svg file isn't show. Can anyone help me?
the Source of the applet is the following: public class SVGViewer extends JApplet { JSVGCanvas svgCanvas; Document document; Window window; public void init() { String svgName; try { svgCanvas = new JSVGCanvas(); getContentPane().add(svgCanvas); svgName = getParameter("svgName"); // Parse the barChart.svg file into a Document. String parser = XMLResourceDescriptor.getXMLParserClassName(); //SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser); URL url = new URL(getCodeBase(), svgName); svgCanvas.setURI(url.toString()); //document = f.createDocument(url.toString()); setBackground(Color.ORANGE); } catch (Exception e) { // TODO: handle exception } } public void start() { JOptionPane.showMessageDialog(this, "STart"); svgCanvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC); //svgCanvas.setDocument(document); //svgCanvas.setURI("a/846004349.image"); try { svgCanvas.addSVGLoadEventDispatcherListener (new SVGLoadEventDispatcherAdapter() { public void svgLoadEventDispatchStarted (SVGLoadEventDispatcherEvent e) { // At this time the document is available... document = svgCanvas.getSVGDocument(); Element root = document.getDocumentElement(); int w = (int)Double.parseDouble(root.getAttribute("width")); int h = (int)Double.parseDouble(root.getAttribute("height")); setSize(w, h); // ...and the window object too. window = svgCanvas.getUpdateManager().getScriptingEnvironment().createWindow(); //window.alert("INIt"); // Registers the listeners on the document // just before the SVGLoad event is dispatched. registerListeners(); // It is time to pack the frame. } }); } catch (Exception e) { // TODO: handle exception } //window = svgCanvas.getUpdateManager().getScriptingEnvironment().createWindow(); } public void stop() { svgCanvas.setDocument(null); } public void destroy() { svgCanvas.dispose(); } public void registerListeners() { // Gets an element from the loaded document. String QS = document.getDocumentURI(); if(QS.indexOf("schemazoompre.aspx")!=-1) { QS = QS.replace("schemazoompre.aspx","main.aspx"); } // Gets an element from the loaded document. NodeList nl = document.getElementsByTagName("g"); for (int i = 0; i < nl.getLength(); i++) { if(nl.item(i).getAttributes().getNamedItem("onload") != null) { EventTarget t = (EventTarget)nl.item(i); t.addEventListener("mouseover", new OnMouseOver(), false); t.addEventListener("mouseout", new OnMouseOut(), false); } } } public class OnMouseOver implements EventListener { public void handleEvent(Event evt) { // Make some actions here... // ... for example schedule an action for later: Element target = (Element)evt.getTarget(); target = (Element)target.getParentNode(); //window.alert(target.getTagName() + " : " + target.getNodeValue()); NodeList nl = target.getElementsByTagName("*"); for (int i = 0; i < nl.getLength(); i++) { //window.alert(nl.item(i).getNodeName()); if(nl.item(i).getAttributes().getNamedItem("stroke") != null) { //window.alert("Stroke"); Attr a = document.createAttribute("stroke"); a.setNodeValue("#03a8f8"); nl.item(i).getAttributes().setNamedItem(a); } else if(nl.item(i).getAttributes().getNamedItem("fill")!= null && nl.item(i).getNodeName() != "rect") { //window.alert("fill & !rect"); Attr a = document.createAttribute("fill"); a.setNodeValue("#03a8f8"); nl.item(i).getAttributes().setNamedItem(a); } else if(nl.item(i).getNodeName() == "text") { //window.alert("text1"); Attr a = document.createAttribute("fill"); a.setNodeValue("#03a8f8"); nl.item(i).getAttributes().setNamedItem(a); } } } } public class OnMouseOut implements EventListener { public void handleEvent(Event evt) { // Make some actions here... // ... for example schedule an action for later: Element target = (Element)evt.getTarget(); target = (Element)target.getParentNode(); //window.alert(target.getTagName() + " : " + target.getNodeValue()); NodeList nl = target.getElementsByTagName("*"); for (int i = 0; i < nl.getLength(); i++) { //window.alert(nl.item(i).getNodeName()); if(nl.item(i).getAttributes().getNamedItem("stroke") != null && nl.item(i).getAttributes().getNamedItem("stroke").getNodeValue() == "#03a8f8") { //window.alert("Stroke"); Attr a = document.createAttribute("stroke"); a.setNodeValue("#000000"); nl.item(i).getAttributes().setNamedItem(a); } else if(nl.item(i).getAttributes().getNamedItem("fill")!= null && nl.item(i).getAttributes().getNamedItem("fill").getNodeValue() == "#03a8f8") { //window.alert("fill & !rect"); Attr a = document.createAttribute("fill"); a.setNodeValue("#000000"); nl.item(i).getAttributes().setNamedItem(a); } } } } } Thanks E -- View this message in context: http://batik.2283329.n4.nabble.com/Applet-does-not-display-tp3696178p3696178.html Sent from the Batik - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: batik-users-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: batik-users-h...@xmlgraphics.apache.org