2009-10-14 17 views

risposta

22

Probabilmente si hanno due istanze di JLabel. Una è una variabile di classe e una è una variabile di istanza che è stata aggiunta alla GUI. Il problema è che il tuo codice sta aggiornando la variabile di classe.

Oppure, se non si aggiorna l'icona sull'EDT si potrebbero avere problemi.

Modifica: basta rileggere la domanda. Se si sta parlando di una "immagine generata" che deve essere ricaricata da un file, è necessario eliminare l'immagine memorizzata nella cache. Due modi per farlo:

// Using ImageIO 

String imageName = "timeLabel.jpg"; 
imageLabel.setIcon(new ImageIcon(ImageIO.read(new File(imageName)))); 

// Or you can flush the image 

String imageName = "timeLabel.jpg"; 
ImageIcon icon = new ImageIcon(imageName); 
icon.getImage().flush(); 
imageLabel.setIcon(icon); 

Se avete bisogno di più aiuto Pubblica il tuo SSCCE.

+0

cosa se voglio aggiornare l'immagine dal database con il tipo blob – Gaurav

2

In secondo luogo, la risposta è che esiste la possibilità di disporre di due oggetti etichetta separati.

Un'altra possibilità è che sono presenti due oggetti icona che fanno riferimento alla stessa immagine, pertanto l'impostazione sull'etichetta non ha alcun effetto.

-1

se si dispone della definizione jlabel Etichetta etichetta = new JLabel();

intendo l'etichetta che si è utilizzato per la visualizzazione dell'immagine

all'interno della funzione di evento, get it fuori di esso