Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Java vede una versione non aggiornata di un file

    Salve, ho un problema con l'aggiornamento di una label contenente un'immagine.
    Io ho un'immagine salvata su un file, diciamo "x.png". Con un JFileChooser, faccio scegliere all'utente un nuovo file, che vado a sovrascrivere al precedente "x.png". All'interno della cartella in cui è presente il file, io vedo la nuova versione, ma finchè non chiudo e rilancio l'applicazione, java vede la versione precedente dell'immagine.

    Come posso fare???

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    grande! Funziona, problema risolto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.