Problema con un programa creado en java

Jose Antonio
06 de Abril del 2006
codigo:


package Applet;

import java.applet.Applet;
import java.awt.Button;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class trabajo extends Applet implements ActionListener {
Button botones[];
int aleatorio[],tabla1[],alea,x1,x2,y1,y2,z1,z2,z,chivato;
Image img;
boolean visible,primerosegundo;
public void init() {
visible=true;
primerosegundo=true;
chivato=0;
setLayout(new GridLayout(4,5));
botones=new Button[20];
for (int a=0;a<20;a++){
botones[a]=new Button();
add(botones[a]);
botones[a].setVisible(false);
botones[a].addActionListener(this);
}
aleatorio= new int[20];
tabla1=new int[10];
for (int b=0;b<10;b++)
tabla1[b]=0;
for (int c=0;c<20;c++){
alea=(int)(Math.random()*10);
if (tabla1[alea]<2){
aleatorio[c]=alea;
tabla1[alea]=tabla1[alea]+1;
}
else
c=c-1;
}
}
public void paint(Graphics g){
z=0;
for (int d=0;d<4;d++)
for (int f=0;f<5;f++){
x1=(f*getWidth()/5);
y1=(d*getHeight()/4);
x2=getWidth()/5;
y2=getHeight()/4;
img = Toolkit.getDefaultToolkit().getImage("c:/Jose/Java/Trabajos/Applet/"+aleatorio[z]+".JPG");
g.drawImage(img,x1,y1,x2,y2,Color.RED,this);
z++;
}

if (visible==true){
for (int h=0;h<20;h++)
botones[h].setVisible(true);}
visible=false;

}
public void actionPerformed(ActionEvent e) {
if (primerosegundo==true){
for (int i=0;i<20;i++){
if (e.getSource()==botones[i]){
botones[i].setVisible(false);
z1=i;
primerosegundo=false;
System.out.println("falso");
}
}
}
else{
for(int j=0;j<20;j++){
if (e.getSource()==botones[j]){
botones[j].setVisible(false);
z2=j;
primerosegundo=true;
System.out.println("verdadero");}}
try{
Thread.sleep(2*1000);
System.out.println("Esto solo debería salir en la segunda imagen");
}
catch(Exception exc){};
if (aleatorio[z1]!=aleatorio[z2]){
botones[z1].setVisible(true);
botones[z2].setVisible(true);}



}

}

}



El programa consiste en un juego de parejas, inserto las imagenes abajo y por encima botones, al seleccionar los botones el seleccionado se pondria no-visible y se veria la imagen de atras. El problema reside en que al clickar en el segundo boton, aparece blanco y tras 2 segundos (que es lo ke dura el sleep) aparece la imagen, el problema es que seguidamente se hace la comparacion y no da tiempo a que el usuario vea la segunda imagen. Mi pregunta es, hay alguna manera en la que pueda poner no-visible el segundo boton seleccionado, que espere unos segundos mientras se ve la imagen del fondo y luego haga la comparacion? Me estoy comiendo los sesos y no me sale, estoy a punto de darle patadas al ordenador jejeje

Gracias de antemano.