Thomas, When I loaded the mapSpain.svg the red circles do appear, but when I use my svg files they dnt - so it is my svg file, what do I need to check in my svg file? Also, I changed the code so I am using the JSVGScrollPane but the scrolls dnt work properly, they do appear once the document is loaded, but when I try moving the horizontal scroll the document disappears totally, here's the code:
JSVGScrollPane scroll = new JSVGScrollPane(canvas); Thx yasmin > Yasmin, > > One other comment on the code. I would suggest using the > JSVGScrollPane > instead of the swing JScrollPane. The JScrollPane works in most cases > it tends to be much less efficient than the JSVGScrollPane. > > [EMAIL PROTECTED] wrote on 03/12/2006 03:01:19 PM: > >> Hi Yasmin, >> >> Your test code worked fine for me with one change, you had: >> >> Element e = >> doc.createElementNS(SVGNS,"spot"); >> >> This isn't right you want: >> >> Element e = >> doc.createElementNS(SVGNS,"circle"); >> >> Which is odd because an earlier e-mail had 'circle' >> I tested by opening 'samples/mapSpain.svg'. I think two of your circles >> still didn't show because mapSpain isn't quite large enough but the ones >> that should show did. >> >> [EMAIL PROTECTED] wrote on 03/12/2006 02:07:00 PM: >> >> > I've just attached the java file only! >> > >> > Tx >> > yasmin >> > >> > >> > >> > >> > >> > >> > >> > > 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] >> > > >> > > >> > > >> > [attachment "TestProgram.java" deleted by Thomas E. > DeWeese/449433/EKC] >> > --------------------------------------------------------------------- >> > 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]
