La pausa è inserita ma penso che il processore non aspetti di avere disegnato l'immagine prima di passare alla pausa e alla successiva cancellazione.O non aspetta il tempo assegnato
La procedura di disegno è contenuta in un thread
Nell costruttore della classe il codice permette il caricamento delle immagini facendo aspettare il proseguimento del programma fino a fine caricamento
MediaTracker track=new MediaTracker(this);
Toolkit kit=Toolkit.getDefaultToolkit();
immSimbolo=kit.getImage(\"A.jpeg\");
try{
track.waitForAll();
}catch (InterruptedException e) {}
nella procedura di disegno il codice è il seguente
public void paintComponent(Graphics screen) {
Graphics2D screen2D = (Graphics2D)screen;
int d=impostaCoordinate.valoreD(); // dimensione caratteri
if(d==0) {d=29;}
Font tipo = new Font(\"Serif\",Font.BOLD,d);
screen2D.setFont(tipo);
// non disegnare niente
screen2D.setColor(getBackground());
screen2D.fillRect(0,0,getSize().width,getSize().height);
if (mostra==true){ // se mostra =true allora disegna
int x=impostaCoordinate.valoreX();
if (x==0) x=5;
int y=impostaCoordinate.valoreY();
if (y==0) y=38;
screen2D.setColor(Color.black);
screen2D.drawString(testo,x,y);
screen2D.drawImage(immSimbolo,12,y+35,this);
//intervallo di tempo di apparizione
try { Thread.sleep(valoreApparizione ); }catch (InterruptedException e) {}
mostra=false; // se mostra = false cancella immagine
}// if
}// paintcomponent