Ciao a tutti!

Sto creando in Java il gioco del Sette E Mezzo. Vorrei che quando è il turno del computer, questo mostri una carta alla volta, alla distanza di un secondo l'una dall'altra. Ho provato usando Thread.sleep(1000), ma così si blocca tutto fino alla fine del turno di gioco. Come posso fare? Questo è il mio codice:
codice:
fineTurnoComputer = false;
        while (!fineTurnoComputer) {
            if (punteggioComputer < punteggio) {
                
                mostraCarta(mazzo[carta]);
                if (mazzo[carta] == 10) {
                    jollyComputer = true;
                }
                else if (mazzo[carta] % 10 == 1)
                    punteggioComputer += 1;
                else if (mazzo[carta] % 10 == 2)
                    punteggioComputer += 2;
                else if (mazzo[carta] % 10 == 3)
                    punteggioComputer += 3;
                else if (mazzo[carta] % 10 == 4)
                    punteggioComputer += 4;
                else if (mazzo[carta] % 10 == 5)
                    punteggioComputer += 5;
                else if (mazzo[carta] % 10 == 6)
                    punteggioComputer += 6;
                else if (mazzo[carta] % 10 == 7)
                    punteggioComputer += 7;
                else if (mazzo[carta] % 10 == 8 || mazzo[carta] % 10 == 9 || mazzo[carta] % 10 == 0)
                    punteggioComputer += 0.5;
                fineTurnoComputer = controllaPunteggioComputer();
                carta++;
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException ex) { return; }
            
            } else {
                fineTurnoComputer = true;
            }
        }
        
        controllaVittoria();
        if (partitaFinita)
            mischiaButton.setEnabled(false);
        else
            mischiaButton.setEnabled(true);
Grazie in anticipo!