Hi Yasmin, [EMAIL PROTECTED] wrote on 03/12/2006 10:45:17 AM:
> Now when I run my code I get the following error: > > org.w3c.dom.DOMException: The current document is unable to create an > element of the requested type (namespace: http://www.w3.org/2000/svg, > name: spot). Batik's DOM implementation prevents you from creating elements in the SVG Namespace that aren't part of the SVG specification. As far as path forward, I would suggest taking the code to create the circles and put it in a small example that just puts of the canvas (with any old document) and a button that adds a list of preset circles. Then with all the code together I can either spot the error or run it and debug why it isn't working for you. > > at org.apache.batik.dom.AbstractNode.createDOMException(Unknown Source) > > at org.apache.batik.dom.svg.SVGDOMImplementation.createElementNS(Unknown > Source) > > at org.apache.batik.dom.svg.SVGOMDocument.createElementNS(Unknown Source) > > at mypackage22.KeyAccidentClient$4.run(KeyAccidentClient.java:349) > > at org.apache.batik.util.RunnableQueue.run(Unknown Source) > > at java.lang.Thread.run(Thread.java:534) > > Pls advice. > > Thx > > yasmin > > > > > > Hi Yasmin, > > > > [EMAIL PROTECTED] wrote on 03/12/2006 06:04:36 AM: > > > >> When I tried putting a line to test if the code is running, the code > > does > >> run, but apparently it does not create any elements, here's what I > > tested: > >> > >> System.out.println("This is just testing :" + > > g.getAttribute("circleGroup")); > >> > >> and nothing prints for g.getAttribute ... > > > > This is expected, I think you want to use: > > g.getAttributeNS(null, "id"); > > > > This should result in the string 'circleGroup'. > > > >> > [EMAIL PROTECTED] wrote on 03/11/2006 05:44:31 PM: > >> > > >> >> I did initially try to add the red circles to the svg document > >> >> programatically, infact I think you emailed me a snippet of your code > >> >> but it doesn't work, the code compiles but does not display the > >> >> red-circles, I tried to repaint my canvas, that don't work... here's > >> >> the code I'm using maybe you might be able to spot where I'm making > >> >> the error... > >> > > >> > The code looks pretty good. You aren't that far from a > >> > standalone example, this would help me help you... > >> > > >> >> //I added this in my constructor > >> >> canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC); > >> > > >> > This must be done _before_ you set the document on the canvas. > >> > > >> >> //The following code I added in my ActionListener triggred by a > > button > >> > > >> > Are you sure this code runs? Some println's might help make sure > >> > that your spots list isn't empty for some reason, etc. You don't > >> > need to 'repaint' the canvas. > >> > > >> >> canvas.getUpdateManager().getUpdateRunnableQueue().invokeLater(new > >> >> Runnable() { > >> >> > >> >> public void run() > >> >> { > >> >> SVGDocument doc = canvas.getSVGDocument(); > >> >> String SVGNS = "http://www.w3.org/2000/svg"; > >> >> Iterator i = spots.iterator(); > >> >> Element g = > > doc.getElementById("circleGroup"); > >> >> if (g == null) > >> >> { > >> >> g = doc.createElementNS(SVGNS,"g"); > >> >> g.setAttributeNS(null, "id", > > "circleGroup"); > >> >> doc.getRootElement().appendChild(g); > >> >> } > >> >> > >> >> > >> >> while (i.hasNext()) > >> >> { > >> >> Point2D pt2d = (Point2D) i.next(); > >> >> Element e = > >> > doc.createElementNS(SVGNS,"circle"); > >> >> e.setAttributeNS(null,"cx",""+pt2d.getX()); > >> >> e.setAttributeNS(null,"cy",""+pt2d.getY()); > >> >> e.setAttributeNS(null,"r","8"); > >> >> e.setAttributeNS(null,"fill","Red"); > >> >> g.appendChild(e); > >> >> } > >> >> } > >> >> }); > >> >> > >> >> canvas.repaint(); > >> > > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: [EMAIL PROTECTED] > >> > For additional commands, e-mail: > > [EMAIL PROTECTED] > >> > > >> > > >> > > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
