Facil pero no me sale

gust083
14 de Octubre del 2005
Buenas, ando haciendo una aplicaci{on y tengo problemas con el progress bar. Estoy haciendo una aplicaci{on en la que corre un algortimo bastante pesado. Por ahi tarda 1 munuyto en encontrar la solucion. Entonces mientras la maquina procesa, queria que por pantalla se muestre un progress bar ciclando. Pense en hacerlo con un Thread, pero tengo problemas para que muestre la barra. El repaintr no funciona bien. Si alguien sabe como hacerlo bien, se lo agradeceria un m0onton.

Desde ya muchas gracias
GSUTAVO

chuidiang
14 de Octubre del 2005
Hola:

Hay un hilo, llamado hilo de awt, que es el encargado de refrescar la pantalla.
Cuando pulsas un botón, un menú o lo que sea, el código de esa pulsación se ejecuta en el hilo de awt, por lo que mientras se ejecuta el código del botón, la pantalla no se refresca.

Si realizas tus cuentas como consecuencia de la pulsación de un botón (o evento de ratón cualquiera), estas bloqueando el hilo de awt gastando su tiempo en tus cuentas, en vez de en refrescos de pantalla. Ese puede ser el motivo por el que no se refresque la barra de progreso.

Lo que debes hacer es lanzar tus cuentas en un nuevo hilo y hacer que el actionPerformed() o el método que trata el evento de ratón vuelva lo antes posible.

Se bueno.