Hola, estoy teniendo un problema bastante raro, lo que pasa es lo siguiente:
Tengo un JLabel que se llama label, entonces hago:
label.setIcon("nombre_imagen");
Ahora descargo de Internet una imagen nueva y la llamo de la misma manera que la anterior, y cuando la descarga termina, aún dejando unos segundos más por si estuviera terminando de guardarla, vuelvo a hacer:
label.setIcon("nombre_imagen");
Pero la imagen que muestra es la anterior, a pesar de que ya no existe porque ha sido sobreescrita por la nueva. De hecho, mientras la aplicación está mostrando la anterior, voy a través del explorador de Windows y abro la nueva, y efectivamente es la que tiene que ser, porque la antigua se ha sobreescrito.
He probado haciendo después de la descarga doLayout(), repaint(), y otros métodos por el estilo, pero sigue igual.
Sólo puedo pensar que se está cacheando la imagen y recuperándose de la caché a la hora de solicitarse un archivo con el mismo nombre. ¿Hay alguna manera de evitar esto?
Como curiosidad, de cada 10 veces aproximadamente que ejecuto, 1 lo hace bien y 9 mal...Osea que no siempre se comporta de la misma manera :S