Eh già... ho provato anch'io e ho notato che le applet hanno un comportamento leggermente diverso da quello dei Thread. Per questo bisogna utilizzare i thread anche nelle Applet quando si ha bisogno di questo tipo di applicazioni.
Ecco la tua classe funzionante:
codice:
import java.applet.*;
import java.awt.*;
public class Immagine extends Applet {
private class Timer extends Thread {
private Immagine img;
private Image image;
public Timer(Immagine img) { this.img = img; }
public void run() {
img.repaint();
try {
Thread.sleep(5000);
} catch(InterruptedException e) {
System.out.println(e);
}
image = getImage(getDocumentBase(),"altraImmagine.jpg");
img.settaImg(image);
img.repaint();
}
}
Image imgCorr;
Timer t;
public void init() {
imgCorr=getImage(getDocumentBase(),"webcam.jpg");
t = new Timer(this);
repaint();
}
public void start() {
repaint();
t.start();
}
public void settaImg(Image imgCorr) { this.imgCorr = imgCorr; }
public void paint(Graphics g) {
if (imgCorr != null) {
g.drawImage(imgCorr,0,0,this);
}
}
}
Se hai bisogno di spiegazioni opsta pure, comunque trovi tutta la documentazione riguardante i Thread qui
Ciao.