Hi Yasmin,
[EMAIL PROTECTED] wrote on 02/27/2006 05:26:36 PM:
> I get the following error: java.lang.NullPointerException
> after correcting the bug you pointed out...
Without the associated stack trace I really can't.
The Dialog has a button that will expand the window
to include the full stack trace. This will help
a lot.
>
>
> > Hi Yasmin,
> >
> > [EMAIL PROTECTED] wrote on 02/27/2006 04:50:04 PM:
> >
> >> I've tried using the code below, but its not displaying the red
circles
> >> ...This is what happens, I load the SVG document by selecting from a
> > menu
> >> bar, which triggers an event to load and rendering etc... once the
> >> document is displayed I then click a button to get the data from the
> >> database, which I store into an arrayList, at this point I store the
> >> points in a separate list... and then I added the code below, and
> > nothing
> >> happens, I get an error Msg : null :(
> >
> > The error Msg probably has a stack trace if you 'expand' the
window.
> > Also there was a bug below (might be the problem):
> > g.appendChild(g);
> >
> > Should be:
> >
> > g.appendChild(e);
> >
> > You can't add your self as a child.
> >
> >
> >>
> >> pls advice, ThankU
> >>
> >> yasmin
> >>
> >>
> >>
> >>
> >>
> >> > Hi Yasmin,
> >> >
> >> > [EMAIL PROTECTED] wrote on 02/27/2006 01:26:07 PM:
> >> >
> >> >> yes, it does but how does that work?
> >> >
> >> > Assuming there is no 'obvious' dynamic content in the
> >> > SVG file already (script, event handlers, etc). You need
> >> > to tell the canvas to treat your document as dynamic:
> >> >
> >> > canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
> >> >
> >> > // Do what ever you curently do to load your SVG and get
> >> > // a list of points for circles.
> >> > // Once the document is loaded (onload callback or
> >> > // wait for first rendering):
> >> >
> >> > canvas.getUpdateManager().getUpdateRunnableQueue().
> >> > invokeLater(new Runnable() {
> >> > public void run() {
> >> > SVGDocuemnt doc = canvas.getSVGDocument();
> >> > String SVGNS = "http://www.w3.org/2000/svg"; // SVG
namespace
> >> > Iterator i = ...; // get list of points
> >> > Element g = doc.getElementById("circleGroup");
> >> > while (i.hasNext()) {
> >> > Point2D pt2d = i.next();
> >> > Element e = doc.createElementNS(SVGNS, "circle");
> >> > e.setAttributeNS(null, "cx", ""+pt2d.getX());
> >> > e.setAttributeNS(null, "cy", ""+pt2d.getY());
> >> > e.setAttributeNS(null, "r", "5");
> >> > g.appendChild(g);
> >> > }
> >> > });
> >> >
> >> >>
> >> >>
> >> >>
> >> >> > Well you're not adding them to a document in the file system,
but
> > the
> >> >> > JSVGCanvas certainly has a reference to an SVGDocument in
memory,
> >> > right?
> >> >> >
> >> >> > Michael Bishop
> >> >> >
> >> >> > -----Original Message-----
> >> >> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> >> >> > Sent: Monday, February 27, 2006 1:18 PM
> >> >> > To: [email protected]
> >> >> > Subject: RE: Red Spots
> >> >> >
> >> >> > Hi there!
> >> >> >
> >> >> > I can't make the spots part of the document, because they are
drawn
> >> >> > after
> >> >> > getting the information from a database (Accident database)
...is
> >> > there
> >> >> > a
> >> >> > way when a mouse clicks on any of the spots to activate an
event?
> >> >> >
> >> >> > ThankU
> >> >> >
> >> >> > yasmin
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >> Hi Yasmin,
> >> >> >>
> >> >> >> [EMAIL PROTECTED] wrote on 02/27/2006 12:42:09 PM:
> >> >> >>
> >> >> >>> ...I've drawn the circles on the canvas, they are not part of
my
> > svg
> >> >> >>> document such that the actual file is not altered, the the
> > circles
> >> >> > are
> >> >> >> not
> >> >> >>> individual elements - any ideas :(
> >> >> >>
> >> >> >> Yes, make them part of your document ;)
> >> >> >> Really this is the simplest thing. If you want to minimize
the
> >> >> >> 'impact' on the original document put all the circle in a
special
> >> >> > group
> >> >> >> (probably dynamically created) so you can just delete the group
to
> >> >> > 'reset'
> >> >> >> the document. This way you can let the SVG engine do all the
> > event
> >> >> >> tracking.
> >> >> >>
> >> >> >> You could add an event listener (mouse move or the like) to
the
> >> >> >> rootmost SVG element and you will get notified of any mouse
event
> >> >> >> over any element in the document. You could then manually
check
> >> > these
> >> >> >> points against your circles. But this seems like a bunch of
extra
> >> >> > work
> >> >> >> for nothing.
> >> >> >>
> >> >> >>>
> >> >> >>> yasmin
> >> >> >>>
> >> >> >>>
> >> >> >>> > Hello,
> >> >> >>> > For events, I attach an event to the entire document.
For
> >> >> >>> > individual elements, this may work. You'll need to get your
> >> > circle
> >> >> > as
> >> >> >>> > an org.w3c.dom.Element.
> >> >> >>> >
> >> >> >>> > EventTarget eventTarget = (EventTarget) yourElement;
> >> >> >>> >
eventTarget.addEventListener(SVGConstants.SVG_EVENT_MOUSEDOWN,
> > new
> >> >> >>> > YourEventListener(), false);
> >> >> >>> >
> >> >> >>> > Michael Bishop
> >> >> >>> >
> >> >> >>> > -----Original Message-----
> >> >> >>> > From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
> >> >> >>> > Sent: Monday, February 27, 2006 12:13 PM
> >> >> >>> > To: [email protected]
> >> >> >>> > Subject: Red Spots
> >> >> >>> >
> >> >> >>> >
> >> >> >>> > Hi Michael Bishop,
> >> >> >>> >
> >> >> >>> > I have been beavering on my project and have successfully
> >> > converted
> >> >> > my
> >> >> >>> > screen coordinates to documents and can interact with my
> > database
> >> >> > to
> >> >> >>> > retrieve the information for the current view and show red
> > spots
> >> > on
> >> >> >> the
> >> >> >>> > areas where accidents have happend on the map ...now I need
to
> >> > make
> >> >> >> the
> >> >> >>> > red spots active so when a user clicks on a red spot the
> > relevant
> >> >> >>> > information about that particular accident is displayed ...i
> >> > simply
> >> >> >> used
> >> >> >>> > the following code to create the red spot:
> >> >> >>> >
> >> >> >>> > Graphics spot = canvas.getGraphics();
> >> >> >>> > spot.setColor(Color.RED);
> >> >> >>> > spot.fillOval(x,y,22,22);
> >> >> >>> > spot.dispose();
> >> >> >>> >
> >> >> >>> > but i cant assign an ActionEvent to the spot ...Any ideas?
> >> >> >>> >
> >> >> >>> > Many thanks in advance :)
> >> >> >>> >
> >> >> >>> > Yasmin
> >> >> >>> >
> >> >> >>> >
> >> >> >>> >
> >> >> >>> >
> >> >> >>> >> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
> >> >> >>> >> <HTML>
> >> >> >>> >> <HEAD>
> >> >> >>> >> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;
> >> >> >>> > charset=iso-8859-1">
> >> >> >>> >>
> >> >> >>> >>
> >> >> >>> >> <META NAME="Generator" CONTENT="MS Exchange Server version
> >> >> >>> > 6.5.7226.0">
> >> >> >>> >> <TITLE>RE: Coordinates</TITLE>
> >> >> >>> >> </HEAD>
> >> >> >>> >> <BODY>
> >> >> >>> >> <DIV id=idOWAReplyText99836 dir=ltr>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial color=#000000 size=2>Element
> >> > element
> >> >> >>
> >> >> >>> >>
> >> >> >
> > svgDocument.createElement(SVGConstants.SVG_CIRCLE_TAG);</FONT></DIV>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial
> >> >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_CX_ATTR,
> >> >> >>> >> xPosition);</FONT></DIV>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial
> >> >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_CY_ATTR,
> >> >> >>> >> yPosition);</FONT></DIV>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial
> >> >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_R_ATTR,
> >> >> >>> > radius);</FONT></DIV>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial
> >> >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_FILL_ATTR,
> >> >> >>> >> "red");</FONT></DIV>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial
> >> >> >>> >>
> >> >> >
size=2>svgDocument.getDocumentElement.append(element);</FONT></DIV>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2>Use code completion or
> > the
> >> >> > Batik
> >> >> >>> >> Javadoc. Most of those SVGConstants references are
> > probably
> >> >> >>> >> wrong.</FONT></DIV>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV>
> >> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2>Michael
> >> >> >> Bishop</FONT></DIV></DIV>
> >> >> >>> >> <DIV dir=ltr><BR>
> >> >> >>> >> <HR tabIndex=-1>
> >> >> >>> >> <FONT face=Tahoma size=2><B>From:</B>
[EMAIL PROTECTED]
> >> >> >>> >> [mailto:[EMAIL PROTECTED]<BR><B>Sent:</B> Sun
2/19/2006
> >> >> > 3:07
> >> >> >>> >> PM<BR><B>To:</B>
> >> >> >> [email protected]<BR><B>Subject:</B>
> >> >> >>> > RE:
> >> >> >>> >> Coordinates<BR></FONT><BR></DIV>
> >> >> >>> >> <DIV>
> >> >> >>> >> <P><FONT size=2>me again!<BR><BR>...I think I don't need to
> >> >> > convert
> >> >> >>> > back
> >> >> >>> >> to
> >> >> >>> >> screen coordinates I should be<BR>able to use the document
> >> >> >>> > coordinates,
> >> >> >>> >> but how
> >> >> >>> >> can I draw a red-spot<BR>(filled circle) and a given
location
> > on
> >> >> > the
> >> >> >>> >> canvas?<BR><BR>ThankU in advance<BR><BR>yasmin<BR><BR>>
> >> >> >>> > <!DOCTYPE
> >> >> >>> >> HTML
> >> >> >>> >> PUBLIC "-//W3C//DTD HTML 3.2//EN"><BR>>
> >> > <HTML><BR>>
> >> >> >>> >> <HEAD><BR>> <META HTTP-EQUIV="Content-Type"
> >> >> >>> >> CONTENT="text/html;
> >> >> >>> >> charset=iso-8859-1"><BR>><BR>><BR>> <META
> >> >> >>> > NAME="Generator"
> >> >> >>> >> CONTENT="MS Exchange Server version 6.5.7226.0"><BR>>
> >> >> >>> >> <TITLE>Coordinates</TITLE><BR>>
> >> >> > </HEAD><BR>>
> >> >> >>> >> <BODY><BR>> <DIV id=idOWAReplyText8269
> >> >> >> dir=ltr><BR>>
> >> >> >>> >> <DIV
> >> >> >>> >> dir=ltr><FONT face=Arial color=#000000 size=2>Not
> > sure;
> >> >> >>> > haven't
> >> >> >>> >> done<BR>> it in<BR>> reverse.&nbsp; There is a
> > method
> >> >> > for
> >> >> >> an
> >> >> >>> >> SVGLocatable called getScreenCTM<BR>> that<BR>> may
be
> > of
> >> >> >>> >> use.</FONT></DIV><BR>> <DIV
> > dir=ltr><FONT
> >> >> >>> >> face=Arial
> >> >> >>> >> size=2></FONT>&nbsp;</DIV><BR>>
<DIV
> >> >> >>> >> dir=ltr><FONT face=Arial size=2>Michael
> >> >> >>> >> Bishop</FONT></DIV></DIV><BR>> <DIV
> >> >> >>> >> dir=ltr><BR><BR>> <HR
tabIndex=-1><BR>>
> >> >> > <FONT
> >> >> >>> >> face=Tahoma size=2><B>From:</B>
> >> >> >>> >> [EMAIL PROTECTED]<BR>>
> >> >> >>> >> [<A
> >> >> >>> >>
> >> >> >>> >
> >> >> >>
> >> >> >
> >> >
> >
href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL PROTECTED]</A>
> >> >> >>> > ]<BR><B>Sent:</B>
> >> >> >>> >> Sun 2/19/2006 1:08<BR>>
PM<BR><B>To:</B>
> >> >> >>> >>
> >> >> >>> >
> >> >> >>
> >> >> >
> >> >
> >
[email protected]<BR><B>Subject:</B><
> >> >> >>> > BR>>
> >> >> >>> >>
> > Coordinates<BR></FONT><BR></DIV><BR>>
> >> >> >>> >> <DIV><BR>> <P><FONT size=2>Hi Michael
> >> >> >>> >> Bishop,<BR><BR>...I've converted my
screen<BR>>
> >> >> >>> > coordinates
> >> >> >>> >> to my
> >> >> >>> >> document coordinates - now<BR>I'm trying to
> > convert<BR>>
> >> >> >>> >> document<BR>> coordinates to screen coordinate so that
> >> >> >>> > at<BR>that
> >> >> >>> >> point
> >> >> >>> >> on the map, I<BR>> can draw<BR>> a red_spot on the
> >> >> > canvas...any
> >> >> >>> >> ideas?<BR><BR>ThankU in<BR>>
> >> >> >>> >>
> >> >> >>> >
> >> >> >>
> >> >> >
> >> >
> >
advance<BR><BR>yasmin<BR><BR><BR>---------
> >> >> >>> >
> >> >> >>
> >> >> >
> >> >
> >
------------------------------------------------------------<BR>To
> >> >> >>> > <BR>>
> >> >> >>> >> unsubscribe, e-mail:
> >> >> >>> >>
> >> >> >
[EMAIL PROTECTED]<BR>For<BR>>
> >> >> >>> >> additional
> >> >> >>> >> commands, e-mail:<BR>>
> >> >> >>> >>
> >> >> >>> >
> >> >> >>
> >> >> >
> >> >
> >
[EMAIL PROTECTED]<BR></FONT></P>
> >> >> >>> > </DIV><BR>><BR>>
> >> >> >>> >> </BODY><BR>>
> >> >> >>> >>
> >> >> >>> >
> >> >> >>
> >> >> >
> >> >
> >
</HTML><BR><BR><BR><BR>-------------------------------------------
> >> >> >>> > --------------------------<BR>To
> >> >> >>> >> unsubscribe, e-mail:
> >> >> >>> > [EMAIL PROTECTED]<BR>For
> >> >> >>> >> additional commands, e-mail:
> >> >> >>> >>
[EMAIL PROTECTED]<BR></FONT></P></DIV>
> >> >> >>> >>
> >> >> >>> >> </BODY>
> >> >> >>> >> </HTML>
> >> >> >>> >
> >> >> >>> >
> >> >> >>> >
> >> >> >>> >
> >> >> >
> > ---------------------------------------------------------------------
> >> >> >>> > 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]
> >>
> >
> >
> > ---------------------------------------------------------------------
> > 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]