470,647 Members | 1,313 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,647 developers. It's quick & easy.

Simple 2d graphing in web page - where to begin

My Googling has let me down here - maybe because when it comes to Java
I don't really know which type I need! If someone could point me in
the right direction I'd appreciate it.

My requirement is simple: to display a 2-d graph within a web page
where the X and Y values are taken from a database (residing on the
server hosting the web pages). The GUI is to allow panning forwards
and backwards over time (the X values are 32-bit timestamps) and
zooming in and out. That's about it. It would be a bonus if there were
a time display of the cursor position as it is moved over the image.

Java noob question: what /type/ of Java would I need? I see there are
applets, servlets, beans and swing components... oh and Javascript
thrown in to the equation. I don't know where to begin!

I notice that IE warns about the security of some embedded components
but not others. Anyone know what makes the difference?

Is there any existing code that will do the 2-d graphing, as above,
that I could modify? Is there an existing package that will do all of
what I want? It seems a pretty basic requirement.

Lastly, and thanks for staying with me, could you recommend any books
that would provide suitable source code - e.g. a Java or Javascript
cookbook?
--
TIA,
James

Jan 29 '07 #1
7 1798
"James Harris" <ja************@googlemail.comwrote in message
news:11**********************@m58g2000cwm.googlegr oups.com...
My requirement is simple: to display a 2-d graph within a web page
where the X and Y values are taken from a database (residing on the
server hosting the web pages). The GUI is to allow panning forwards
and backwards over time (the X values are 32-bit timestamps) and
zooming in and out. That's about it. It would be a bonus if there were
a time display of the cursor position as it is moved over the image.

Java noob question: what /type/ of Java would I need? I see there are
applets, servlets, beans and swing components... oh and Javascript
thrown in to the equation. I don't know where to begin!
Well, I believe either approach is theoretically possible. I know firsthand I have seen
applets (class files) performing that type of thing here:

http://www.analyzemath.com/Calculators.html

As such, rather than begin learning a slew of DHTML, I would recommend you take this
question to:

comp.lang.java

Also, avoid multiposting. It is lazy (and rude?) and people would respond to you thusly
I notice that IE warns about the security of some embedded components
but not others. Anyone know what makes the difference?
After updating to SP2 in Windows XP I get the:

"Internet Explorer has restricted this file from showing active content that could access
your computer."

....whether I am running a JavaScript, a VBScript, ActiveX, or Java applet.
Is there any existing code that will do the 2-d graphing, as above,
that I could modify? Is there an existing package that will do all of
what I want? It seems a pretty basic requirement.
If there is, Google would surely find it for you.
Lastly, and thanks for staying with me, could you recommend any books
that would provide suitable source code - e.g. a Java or Javascript
cookbook?

http://www.oreillynet.com/pub/au/156

David Flanagan's "javascript: The Definitive Guide 5th Edition" seems to be the wisest
choice. Had I the money this is the book I would upgrade my 3rd Edition to.

Hope this helps a bit.

-Lost
Jan 29 '07 #2
On 29 Jan, 01:36, "Daniel Pitts" <googlegrou...@coloraura.comwrote:
....
JamesThis really sounds like a good place for a multi-tier solution. You
would have a server or servlet application that access the database,
and a client side application (maybe using Applet or Java Web Start)
that renders the graphs.
I guess keeping the database with the web server would allow just two
tiers and thus keep it simpler. My overriding goal at the mo! I can
add features later. Never heard of Java Web Start but it sounds
promising.
It might actually be better to make the front-end a Flash file if you
are more concerned with "pretty rendering" than business logic on the
front end. If the display were more static, you might consider using
a servlet to render it server side, and not worry about client-side
applications.
All I need is a rectangle and some ways to influence what the
rectangle displays. The simpler the better.
There are really a lot of options for this. I personally would
probably start with a pure servlet/jsp implementation, which rendered
an html page and a PNG image using java imageio. Mostly because thats
what I already know.
Wow! JSP is another option, then? I guess there are just too many
options. When I wrote some stuff in Java years ago I spent most of the
time looking for and learning how to work with what other people had
written than writing code myself. I guess that's even more the need
now!

Jan 29 '07 #3
James Harris wrote:
My Googling has let me down here - maybe because when it comes to Java
I don't really know which type I need! If someone could point me in
the right direction I'd appreciate it.

My requirement is simple: to display a 2-d graph within a web page
where the X and Y values are taken from a database (residing on the
server hosting the web pages). The GUI is to allow panning forwards
and backwards over time (the X values are 32-bit timestamps) and
zooming in and out. That's about it. It would be a bonus if there were
a time display of the cursor position as it is moved over the image.

Java noob question: what /type/ of Java would I need? I see there are
applets, servlets, beans and swing components... oh and Javascript
thrown in to the equation. I don't know where to begin!

I notice that IE warns about the security of some embedded components
but not others. Anyone know what makes the difference?

Is there any existing code that will do the 2-d graphing, as above,
that I could modify? Is there an existing package that will do all of
what I want? It seems a pretty basic requirement.
If you want to use Java, then I would suggest:
* JSP page with IMG tag that refers to a servlet
* the servlet gets the data from the database and
outputs the graphics (I can recommend JFreeChart
for the purpose)

Arne

Jan 29 '07 #4
James Harris wrote:
I guess keeping the database with the web server would allow just two
tiers and thus keep it simpler.
Most people would still call it 3 tier, because
it could potentially be on 3 boxes.

Arne
Jan 29 '07 #5
Lew
Arne VajhÝj wrote:
If you want to use Java, then I would suggest:
* JSP page with IMG tag that refers to a servlet
* the servlet gets the data from the database and
outputs the graphics (I can recommend JFreeChart
for the purpose)
To elaborate on that excellent suggestion:

A servlet that simply streams the bytes out from an image to the response
OutputStream can act as a URL for <image src="" ...>. For more better finer
you add mime type headers, etc., to the servlet's output.

After perusing <http://www.jfree.org/jfreechart/index.htmlI see that
JFreeChart has done this for us.

-Lew
Jan 29 '07 #6
On Sun, 28 Jan 2007 20:57:37 -0500, "-Lost"
<sp****************@REMOVEMEcomcast.netwrote:
>Also, avoid multiposting. It is lazy (and rude?) and people would respond to you thusly
I believe the OP crossposted, which is the preferred way. Multiposting
would involve separate posts to multiple groups and defeats the
crossposting filters available in today's newsreaders. IMO, it's
neither lazy, or rude. I choose not to do either as a general rule and
wait for a reply in one group before moving to another group. This
reply has been posted only to the group I am reading at the time.

--
Zilbandy
Jan 29 '07 #7


On 29 Jan, 06:07, "Andrew Thompson" <andrewtho...@gmail.comwrote:
....
Arne and Lew pointed out the path of JFreeChart and
servlets to produce a web-application that does what
you need, without *any* plug-ins on the client side.

Another path to take is JFreeChart combined with either
applets or a web-start applet/application, as mentioned
by Daniel.
JFreeChart looks good, even at the price(!)
Of the two (web page applet/web-start app.), you will have
far fewer problems with the latter.
Would there need to be something running on the client to report to
the user the X-value of the mouse pointer. Would that need an applet
or would that be a Javascript function... or would either do? Still
confused... can you tell? I now understand there is no connection
between Java and Javascript (other than a heritage from C) so maybe
either would do.

In my mind there would be an Applet running on the PC (within the
browser) using JDBC to read the database on the webserver. It would
connect under a userid that had read-rights only. If I have to write a
server component also (a servlet?) doesn't that make things more
complex rather than simpler?
The first route requires a Java enabled site, whereas
the second requires the end-user to have a suitbale
Java Plug-In installed.
I thought there was a JVM (is this the same as the Java plug-in you
mention) included with IE, Firefox etc? Or is it that each browser
will interpret Javascript? I'm honestly finding it difficult to work
out how these things hang together so bear with me, and many thanks
for the help.
Jan 29 '07 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Michael T. Peterson | last post: by
22 posts views Thread by Kenneth Miller | last post: by
6 posts views Thread by Michael Hill | last post: by
1 post views Thread by Mudcat | last post: by
1 post views Thread by robby.walker | last post: by
12 posts views Thread by ra294 | last post: by
reply views Thread by Dexter | last post: by
reply views Thread by warner | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.