2013-08-10 2 views
1

У меня есть JButton, который, как только я нажимаю на него, я хочу изменить некоторые цвета через несколько секунд, например, с синего -> 1 сек -> красный -> 1 сек - > желтый. Моя проблема в том, что, как только я использую функцию Thread.sleep в ActionListener, и я тестирую свою программу, она замерзает на 2 секунды и дает мне прямо желтый цвет. Как я могу это исправить? Большое спасибоActionListener и Thread.sleep

ответ

4

ActionListener и Thread.sleep ..

..don't хорошо играть вместе.

Не блокируйте EDT (Event Dispatch Thread) - графический интерфейс «замерзнет», когда это произойдет. Вместо того, чтобы звонить Thread.sleep(n), выполните Swing Timer для повторения заданий или SwingWorker для выполнения длительных задач. См. Concurrency in Swing для более подробной информации.