Salve a tutti ragazzi!! Sentite, io ho un problema che da troppo tempo mi attanaglia e del quale non riesco a venirne a capo
Ho fatto un Applet con le Swing di Java, così impostato:
L'applet ha un JTabbedPane...in tale modo ho una visione a schede dell'applet...in ogni scheda c'è un JPanel se la scheda relativa sarà di comandi, oppure un JInternalFrame se la scheda conterrà un'immagine (potendo così inserire all'interno un JScrollPane e scorrere l'immagine se questa è più grande delle dimensioni dell'applet). In una di queste schede con comandi (JPanel) ho inserito un bottone, il quale una volta premuto fa partire un Thread che mi crea delle immagini sull'HD(ma ciò è poco importante ) ...il problema viene ora VVoVe: le schede che dovrebbero contenere le immagini dovrebbero essere aggiornate in base alle immagini appena create sul disco...ho implementato dunque la seguente classe considerando che sarà la classe che gestirà le immagini nelle relative schede....Il problema è che gestisce le immagini in maniera corretta solo alla prima esecuzione (cioè alla prima pigiata del bottone)...alla seconda volta le immagini restano le stesse, anche se il Thread attivato dalla premuta del bottone genere le immagini diverse

...Spero di essere stato abbastanza chiaro per poter essere aiutato...PLEASE HELP
codice:
/*
 * Created on 28-mag-2005
 *
 */
package GUI;

import javax.swing.*;
import java.awt.*;

/**
 * @author Giovanni
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

public class ImageScroll extends JInternalFrame{
	public JLabel label;
	public JScrollPane scrollPane;
	public JPanel topPanel;
	public String title;
	public ImageIcon image;
	
	private class changeImageThread extends Thread {
		private ImageScroll is;
		
	public changeImageThread(ImageScroll imgscroll) {this.is=imgscroll;}
		
		public void run(){
			is.label.setIcon(is.image);
			is.repaint();
			}	
	}
	
	
	//costruttore
	public ImageScroll(Image immagine,String titolo) {
	super();
	title=titolo;
	setTitle(titolo);
	topPanel=new JPanel();
	topPanel.setLayout(new BorderLayout());
	getContentPane().add(topPanel);
	image=new ImageIcon(immagine);
	label=new JLabel(image);
	scrollPane=new JScrollPane();
	scrollPane.getViewport().add(label);
	topPanel.add(scrollPane);
	setVisible(true);
	}
	
	
	
	public void changeImage(Image newimage) {
		this.image=new ImageIcon(newimage);
		changeImageThread cit=new changeImageThread(this);
		cit.start();
		}
}