Cita:
Iniciado por chuidiang
Hola:
Java tiene un hilo propio encargado de tratar eventos de raton, teclado y pintado de ventana. Si ese código tuyo se ejecuta al pulsar un botón o pulsación de tecla, se está ejecutando en ese hilo y mientras se esté ejecutando ese código, java no pinta/repinta las ventanas.
Así que pones un icono (ese método en realidad no pinta el icono, sino que le dice al hilo de pintado de ventanas, que cuando pueda, lo pinte), esperas un segundo (bloqueando ese hilo de pintado de ventanas durante un segundo, durante el cual tampoco pintará nada), luego poner el segundo icono (nuevamente aviso al hilo de pintado para que pinte otro icono cuando pueda) y sales del código.
En el momento de salir de tu codigo, el hilo de pintado queda libre y pintará los dos iconos seguidos, porque tiene los dos avisos.
Si no quieres que esto suceda, debes liberar el hilo lo antes posible lanzando todo en un hilo separado.
Código Java:
Ver original public void run() {
pintas icono 1
esperas 1 segundo
pintas icono 2
}
}
hilo.start();
Se bueno.
No esperaba una respuesta tan buena, muchísimas gracias. Veo que java es más sutil de lo que parece a simple vista.
Pero sigue sin compilar, me dice que ; expected, incluso aunque deje el run(){} así vacío.