Hi Yasmin,
[EMAIL PROTECTED] wrote on 03/12/2006 06:24:15 PM:
> I've tried this, but again I have a problem with the paranthesis of the
> addEventListener?
What is the error?
Does CircleAction implement the DOM EventListener interface?
org.w3c.dom.events.EventListener;
> NodeList circleList = doc.getElementsByTagName("circle");
You only need to add one event listener to the circleGroup.
Then use evt.getTarget() to know what circle it is.
> for (int count = 0; count < circleList.getLength(); count++) {
> EventTarget eventTarget = (EventTarget) circleList.item(count);
> eventTarget.addEventListener("click",new CircleAction(),false);
> }
>
> Thx
>
> yasmin
>
>
>
> > Hi Yasmin,
> >
> > [EMAIL PROTECTED] wrote on 03/12/2006 05:54:00 PM:
> >
> >> Now I'm trying to make the red circles clickable, I've tried this
code
> > but
> >> for some reason I can't get the element.addEventListener?
> >
> > addEventListener is on the EventTarget interface. So you
> > will need to cast the element to add the listener.
> >
> >>
> >> Element element = doc.getElementById("circleGroup");
> >> element.addEventListener("click", new CircleAction(), false);
> >>
> >> Thx
> >>
> >> yasmin
> >>
> >> > Hi Yasmin,
> >> >
> >> > [EMAIL PROTECTED] wrote on 03/12/2006 03:44:08 PM:
> >> >
> >> >> Here's the heading of my svg file, can you see anything that might
be
> >> >> causing the red circles not appearing?
> >> >
> >> >> viewBox="424000.000 -518000 2000 2000"
> >> >
> >> > Your viewBox certainly doesn't intersect any of the coords
> >> > in your example source code. When you add the elements to the
> >> > Document you need to place your circles in the 'maps' coordinate
> >> > system (which normally is simplier for you).
> >> >
> >> > So the cx & cy for a circle should look something like
> >> > cx="425100"
> >> > cy="-519100"
> >> >
> >> >> > 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]
> >> >>
> >> >
> >> >
> >> >
---------------------------------------------------------------------
> >> > 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]