Applet does not display

darkshadow <[email protected]>
Newsgroups gmane.text.xml.batik.user
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.