Java заменяет изображение значка по прошествии времени X - PullRequest
0 голосов
/ 27 ноября 2010

IN SHORT: я хочу выполнить новую команду через 3 секунды после того, как была введена предыдущая команда.

ИСТОРИЯ: У меня есть кнопка действия, которая после нажатия кнопки устанавливает (заменяет) изображение значка (анимация)) на одном из Jlabels.

JLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/iamg/slash.gif")));

Все, что я хочу, это заменить Icon обратно прежним после того, как пройдет X раз.Другими словами, я хочу, чтобы новая анимация закончилась (которая длится около 4 секунд), и после этих 4-секундных проходов я мог бы установить новую иконку.

Я понимаю, что это может быть сделано с потоками не по назначениюкак, поскольку все, что я знаю, это остановка всей программы, используя что-то вроде этого:

try
{
    Thread.sleep(3000);      
}
catch (InterruptedException ex)
{

}

, что также останавливает анимацию само по себе, вместо того, чтобы ждать, пока пройдет 3 секунды, перед выполнением новой команды .. Справкапожалуйста

1 Ответ

1 голос
/ 27 ноября 2010

Вы должны использовать Timer.См. этот урок , чтобы узнать, как их использовать.В основном вам нужно добавить слушателя действия к таймеру, чтобы при его запуске вы могли заменить значок.

...