JTable llama al método del procesador de células personalizado ... de forma continua

Fuente compilable se puede encontrar en:http://www.splashcd.com/jtable.tar

Soy nuevo en el lenguaje, así que no estoy seguro de si este es un comportamiento aceptable o no.

Creé un JTable para mostrar una fila por cada mensaje recibido (recibe aproximadamente uno cada 20 segundos). Una de las columnas de la tabla puede contener una gran cantidad de texto, por lo que creé un procesador de celdas personalizado cuya palabra se ajusta y establece la altura de la fila en consecuencia.

Todo eso funciona como se espera, excepto que una vez que la tabla muestra su primera fila, llama al procesador de células aproximadamente diez veces por segundo ... hasta que el usuario cierre la tabla.

Una vez que tengo aproximadamente 20 filas allí, la tabla se vuelve bastante lenta, demorando entre 2 y 8 segundos en cambiar el tamaño de una columna, desplazarse hacia arriba o hacia abajo o renderizar una fila seleccionada con el color de fondo seleccionado.

Inserté una declaración de impresión dentro del renderizador, por lo que puedo ver cuántas veces se llama al método getTableCellRendererComponent.

Deshabilité las sugerencias de herramientas y deshabilité toda la edición de celdas. Tengo un oyente que desplaza la vista a la última fila cuando se agrega una nueva fila o se cambia el tamaño de la tabla.

¿Debería llamarse al método getTableCellRendererComponent varias veces por segundo cuando solo estoy viendo la pantalla (sin tocar el mouse o el teclado)?

TIA

Respuestas a la pregunta(3)

Su respuesta a la pregunta