Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Forma en que se muestran cambios durante la ejecución

Buen día.

Disculpen si accidentalmente no cumplo con alguna regla al momento de hacer este tema, es mi primera vez en el foro.

Tengo un frame en Java que busca en servidores (de bases de datos) los datos que tú le indiques. Tengo una jTable (parte inferior izquierda) donde se almacenan los resultados encontrados y también un jTextArea (parte derecha) que mi idea es que sirva como tipo "consola", donde se vaya registrando todo en lo que se está buscado.

En el jTextArea se agrega un renglón cada que se compara la cadena de búsqueda (mediante ciclos) con algún registro, columna o tabla. El detalle es que el jTextArea permanece en blanco hasta finalizar la búsqueda y se muestra todo de golpe. Me he percatado que es la forma "default" en la que he estado trabajando con java, ya que en todos los componentes sucede de igual manera.

Me gustaría saber cómo hacer para que en el transcurso de que se está ejecutando la búsqueda me vaya mostrando en el jTextArea renglón por renglón.

De antemano muchas gracias. Saludos!

julio 29, 2017 | Registered Commenteromaaraguirre

Un asunto recurrente sobre Swing es la actualización del modo gráfico: hasta que no se ejecuta todo el código dentro de un listener, no se actualiza la interfaz gráfica
Los listeners deben ejecutarse, por ello, a la mayor velocidad posible, y no recargarlos con código extenso y lento.

Para resolver el problema de ejecutar código extenso o lento, y simultáneamente actualizar la interfaz, existe:

https://docs.oracle.com/javase/8/docs/api/javax/swing/SwingWorker.html

julio 30, 2017 | Registered Commenterchoces