getTableCellRendererComponent
Hola!
TEngo unas matrices con n files y columnas las cuales tardan bastante en repintarse. He visto que cada vez que se repinta alguna parte de la matriz se pasa por la funcion getTableCellRendererComponent, el cual retorna el componente que tenemos para esa celda. Se puede evitar el llamar a esta funcion cuando modificamod el tamaño de la ventana, o ponemod otra ventana encima de ella, etc???
Muchisimas gracias,
runnerea
TEngo unas matrices con n files y columnas las cuales tardan bastante en repintarse. He visto que cada vez que se repinta alguna parte de la matriz se pasa por la funcion getTableCellRendererComponent, el cual retorna el componente que tenemos para esa celda. Se puede evitar el llamar a esta funcion cuando modificamod el tamaño de la ventana, o ponemod otra ventana encima de ella, etc???
Muchisimas gracias,
runnerea
La llamada la hace el JTable y creo que no puedes evitarlo.
Lo que si puedes hacer es hacer eso más eficiente.
Intenta tener todos los calculos hechos fuera de ese metodo, de forma que cuando se llame a el, no haya que hacer cuentas.
Puedes devolver siempre el mismo componente para todas las celdas. El JTable no coloca el componente en si mismo, sino que obtiene una imagen de el que es la que coloca en la celda. Si siempre devuelves el mismo componente, ahorras los new.
Intenta que los calculos, consultas a base de datos, etc, etc no se hagan en el hilo de repintado de java. Es decir, si como consecuencia de la pulsacion de un boton, redimensionado de ventana o lo que sea tienes que rehacer calculos, lanza un thread aparte para que los haga.
Se bueno.
Lo que si puedes hacer es hacer eso más eficiente.
Intenta tener todos los calculos hechos fuera de ese metodo, de forma que cuando se llame a el, no haya que hacer cuentas.
Puedes devolver siempre el mismo componente para todas las celdas. El JTable no coloca el componente en si mismo, sino que obtiene una imagen de el que es la que coloca en la celda. Si siempre devuelves el mismo componente, ahorras los new.
Intenta que los calculos, consultas a base de datos, etc, etc no se hagan en el hilo de repintado de java. Es decir, si como consecuencia de la pulsacion de un boton, redimensionado de ventana o lo que sea tienes que rehacer calculos, lanza un thread aparte para que los haga.
Se bueno.