Java - JFreeChart+ChartPanel+JScrollPane

 
Vista:

JFreeChart+ChartPanel+JScrollPane

Publicado por Dario Zeballos (5 intervenciones) el 02/04/2008 07:22:39
Hola a todos, como estan? Bueno, voy a trartar d ser breve porque la verdad estoy casi desesperado por esto que no me sale.
Resulta que creo un grafico con Jfreechart el cual lo coloco en un CHARTPANEL y a ese ChartPanel lo pongo dentro de un JScrollPane

Aqui viene el asunto que cuando lo ejecuto aparece el JScrollPane vacio, depues de molerme la cabeza probando distintas formas por suerte se me escapo el puntero del mouse y maximize mi ventana de la aplicacion y oh! sorpresa aparecio el grafico dentro del JScrollPane con sus barras de desplazamiento y todo.

Entonces me dije...Joya la ventana tinee que estar maximizada, pero hago desaparecer el grafico, lo activo de nuevo y oh! ya no esta en el JScrollPane, presiono en el boton de restaurar la pantalla y oh! sorpresa ahi aparece de nuevo. Tonces la pregunta..Porque tengo que cambiar el tamaño de la ventana para que se refresque el JScrollPane recien muestre el grafico. Alguien me puede ayudar a continuacion dejo algo del codigo

JPanel panel = new ChartPanel(GraficaCreada); //creo el CahrtPanel con la grafica ya creada
panel.setBounds(30,300,700,200); // doy el tamaño al ChartPanel
JScrollPane jsp = new JScrollPane(); // Creo el JScrollPane que alojara mi ChartPanel
jsp.setBounds(30,30,700,400); // le doy tamaño
jsp.setViewportView(panel); // le asigno el ChartPanel
this.add(jsp); // Esto es para agregar el JScrollPane con el CharPanel Adentro a mi JPanel principal
jsp.setVisible(true); //hago visible el JScrollPane
panel.setVisible(true); // hago Visible el ChartPanel -- sin esta linea, anda igual.
panel.repaint(); // redibujo el ChartPanel
// this.repaint(); // redibujo el Panel principal
jsp.repaint(); // redibujo el JScrollPane

Sin los REPAINT anda Exactamente Igual. Por favor hace 3 dias que vengo googleando y no pude dar con la solucion si alguien me ayuda se lo re agradecere...ah tambien intente lo siguiente
JScrollPane jsp = new JScrollPane(panel)
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:JFreeChart+ChartPanel+JScrollPane

Publicado por Jor (1 intervención) el 20/05/2008 13:07:45
Puedes intentar llamar al método "validate" del panel que contiene todo, así se supone que se refrescan los objetos contenidos:

this.validate();
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