ActionListener i Thread.sleep

Mam przycisk JButton, który po kliknięciu chcę zmienić niektóre kolory po kilku sekundach, na przykład z niebieskiego -> 1 s -> czerwony -> 1 s -> żółty. Moim problemem jest to, że jak tylko użyję funkcji Thread.sleep w ActionListener i przetestuję mój program, zawiesza się on na 2 sekundy i daje mi bezpośrednio żółty kolor. Jak mogę to naprawić? Wielkie dzięki

questionAnswers(1)

yourAnswerToTheQuestion