Java - Actualizar gráfico jFreeChart en cliente cada seg.

 
Vista:

Actualizar gráfico jFreeChart en cliente cada seg.

Publicado por Luis (8 intervenciones) el 22/09/2009 11:58:34
Hola a tod@s.

Estoy planteando una aplicación web con Netbeans. Hasta ahora usaba jFreeChart con Swing para generar gráficas que automáticamente adquirian un dato cada segundo, con lo que se actualizaban. Quiero hacer lo mismo en la aplicación web, pero no sé cómo hacerlo.

Resumiendo, la mecánica es:

1.- inicio segundo nuevo
2.- genera dato aleatorio (por probar)
3.- se añade el dato al dataset (tengo una clase Java encargada de generar el gráfico)
4.- ahora viene el cambio respecto a Swing, el gráfico lo tengo que enviar al browser. Esto lo consigo, pero tengo que actualizar la página web en el navegador, lo que no es aceptable.
5.- la página del cliente actualiza el gráfico. En definitiva, tenemos en el cliente un bonito gráfico que va mostrando datos nuevos cada segundo

He pensado lo siguiente:
1.- con javascript inicio un contador que cada segundo llama a una función javascript
2.- desde dicha función, llamo a un servlet el cual se encarga de usar las clases que actualizan y crean el nuevo gráfico.
3.- el gráfico se envia al cliente, lo cual no es problema porque jfreechart tiene una clase que define un servlet interno que se encarga de enviar la imagen

PREGUNTA:
1.- ¿Cómo llamo al servlet desde Javascript?
2.- JFreeChart guarda la imagen en un directorio temporal y te da un String con el path de la imagen. Por ahora, si lo guardo en String path, he conseguido actualizar la imagen con

<img src="<%=path%>" border=0>----> fijaros el código Java entre etiquetas jsp
¿cómo lo hago sin jsp y así hacerlo todo con el servlet?

No se si lo que he pensado es la forma óptima. Os he comentado la mecánica de lo que quiero hacer por si a algun@ se le ocurre otra forma mejor.

Muchas gracias!!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Actualizar gráfico jFreeChart en cliente cada s

Publicado por raullapeira (24 intervenciones) el 22/09/2009 12:27:57
Lo tipico en esos casos es poner una etiqueta META REFRESH en tu pagina web para que invoque al servidor cada vez.
http://en.wikipedia.org/wiki/Meta_refresh

Lo mas moderno es ponerle AJAX mediante javascript:

Respuesta proporcionada por expertos en Java de consultoriajava.com a partir de informacion recopilada en lady4j.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Actualizar gráfico jFreeChart en cliente cada s

Publicado por Luis (8 intervenciones) el 23/09/2009 09:37:45
Gracias por la respuesta. Usaré AJAX a ver qué tal, aunque por ahora parece que es justo lo que necesito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Actualizar gráfico jFreeChart en cliente cada s

Publicado por Sebastian (1 intervención) el 15/04/2010 03:37:05
Hola Luis,

Estoy en lo mismo y queria saber si pudiste actualizar el grafico con ajax, ya que he intentado de varias formas pero no me actualiza los datos, ojala me puedas orientar un poco, de ante mano muchas gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Actualizar gráfico jFreeChart en cliente cada s

Publicado por John (1 intervención) el 05/07/2010 05:00:21
Buenas amigo estoy iniciando en esto del jFreeChart con Swing y le pregunta a ver si me podrias explicar un poco como se hace para que esta clase se pueda actualizar cada tanto tiempo gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Actualizar gráfico jFreeChart en cliente cada s

Publicado por jose arturo perez ramos (1 intervención) el 21/07/2010 03:17:54
luis me podrias ayudar?

necesito usar jfreechart
con una base de datos en mysql

y no se komo unirlos

mi korreo es

[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar