Se stai usando un oggetto ImageIcon o simili per leggere il file dell'immagine, allora non funzionerà. Tale oggetto legge l'immagine solo la prima volta, al momento di caricarne i dati... poi, probabilmente per questioni di performances, non lo rilegge più.

Devi agire in modo diverso, se vuoi poter rileggere un file con lo stesso nome:

codice:
public ImageIcon leggiFile(String fileName) {
   ImageIcon icon = null;
   BufferedImage img = null;
   try {
      // Effettua la lettura fisica del file e ne carica i dati
      img = ImageIO.read( new File(fileName) );
   } catch (Exception e) { e.printStackTrace(); }
   if (img != null) {
      icon = new ImageIcon( img );
   }
   return icon;
}
In questo modo il file viene riletto ad ogni chiamata del metodo.


Ciao.