Rendimiento JTable

frod
22 de Noviembre del 2003
Hola,
Intento cargar en una JTable con una tabla con 51 campos y unos 5000 registros.
Estoy probando con un monton de Modelos de tablas que encuentro por internet pero lo que tardan en cargar es una barbaridad. (de coña en verdad)
Estoy probando con un jdbTable de JBuilder y perfecto carga casi instantaneamente, pero mi sorpresa es que cuando cambio el tipo de conexión a la base vuelve a tardar muchisimo, muestro los dos ejemplos:

database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:mysql://localhost:3306/sio", "", "", false, "org.gjt.mm.mysql.Driver"));

queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(
database1, "SELECT * FROM tCapt_ProD",null, true, Load.ALL));

jdbTable1.setDataSet(queryDataSet1);

todo perfecto pero al realizar la conexion de este tipo

database1.setJdbcConnection(n.getConexion());

la cagamos, claro y necesito este tipo de conexion ya que la obtengo a traves
de JNDI y BEA. (La conexion funciona perfectamente y es rapida, pruebo imprimir los
registros en pantalla y es inmediato).


Por que narices este cambio de rendimiento, o dios si alguien sabe como cargar
de manera eficiente registros en una Jtable, una ayudita por favor.

Se puede hacer la carga que no sea con Vectores o arrays de objetos?


(!el jodio swing va hacer que desista utilizar java)

Gracias.



Edgar
22 de Noviembre del 2003
El modelo de un JTable se modifica a travez de la interface TableModel eso ya lo sabes pero a lo que voy es que lo que yo te recomiendo es que implementes tu propio modelo de tabla y si conoces de algoritmos y estrucutras de datos crea tus propias estructuras y utilizalas con tu modelo de tabla, una idea que hasta ahora la tengo en la mente es crear una especie de streaming de los datos a un buffer que despues dependiendo de hacia donde te desplaces en la tabla carge en el buffer los datos que ahun no estan, creo que esto podria mejorar el rendimiento pero no he tenido tiempo y ganas de probarlo, no creo resolver tu problema ;-), pero a lo mejor te sirve como idea.