Czy poprawnie zaktualizować elementy obrotowe?

Jestem nowy w huśtawce, każda pomoc jest doceniana.

W tym fragmencie kodu odwracam kartę do góry, jeśli okaże się, że się nie zgadzają, chcę, żeby znów zwrócili się twarzą w dół.

W tej chwili to, co się dzieje: 1. po kliknięciu pierwsza karta obraca się 2. po kliknięciu drugiej karty dzieje się jedna z dwóch rzeczy (a), jeśli są takie same, oboje pozostają, co chcę (b), jeśli nie są takie same Nigdy nie widzę drugiej karty w ogóle, ponieważ natychmiast ponownie wyświetla tylną stronę karty (i tył poprzedniej karty, tak jak zdefiniowano w mojej metodzie).

Myślałem, że włączenie wyłącznika czasowego może spowodować, że druga karta będzie wyświetlana przez pewien czas, zanim się odwróci, ale tak nie jest.

Próbowałem użyć contentPane.revalidate (); & contentPane.repaint (); ale nic nie zmienia.

Włożyłem kilka wyjść konsoli:

Console output:
Card: 0 set
Card: 6 set
Sleeping now
Card: 6 unset
Card: 0 unset

Powyżej przedstawiono wynikową konsolę po kliknięciu dwóch kart, które się nie zgadzają

@Override
public void actionPerformed(ActionEvent e) 
{
    String buttonPressed = e.getActionCommand();
    int pos = Integer.valueOf(buttonPressed);
    action = Control.model.ReceiveCardsTurned(pos);

    keypadArray[pos].setIcon(myIcons[pos]);     
    System.out.println("Card: "+pos+" set");
    currentTime.setText("" + Control.model.time);
    currentScore.setText("" + Control.model.score);

    //contentPane.revalidate();
    //contentPane.repaint();        

    if(Control.model.twoCardsTurned == false)
    {
        if (action == "unturn") 
        {
            System.out.println("Sleeping now");

            try 
            {
                Thread.sleep(1000);
            }

            catch (InterruptedException e1) 
            {
                e1.printStackTrace();
            }

            keypadArray[pos].setIcon(back);
            keypadArray[Control.model.lastCard].setIcon(back);
            System.out.println("Card: "+pos+" unset");
            System.out.println("Card: "+Control.model.lastCard+" unset");
        }
    }
}

questionAnswers(2)

yourAnswerToTheQuestion