Переключить изображение кнопки Java вперед и назад? - PullRequest
1 голос
/ 25 октября 2011

У меня есть программа, использующая переключатель, которому передается событие action при нажатии кнопки:

public void buttonImageReveal(ActionEvent e){

    String temp = e.getActionCommand();

    switch(temp){

        case "1":
        ((JButton)e.getSource()).setIcon(one);
        delay();
        ((JButton)e.getSource()).setIcon(null);
        break;

Задержка - это просто вызов функции с ожиданием в 1 секунду:

 public void delay(){
        try
        {
            Thread.sleep(1000); 
        }
            catch(InterruptedException e1)
        {
            e1.printStackTrace();
        }
    }

Все, что приводит к ожиданию и отсутствию изображения, желаемый результат - вспышка изображения на секунду.

Заранее спасибо!

1 Ответ

5 голосов
/ 25 октября 2011

После установки значка вы заставляете поток спать, чтобы он не мог закрасить новый значок.Сразу после окончания сна вы устанавливаете значок на ноль.Таким образом, вы никогда не увидите окрашенный значок.

Вы можете попытаться изменить значок, периодически используя javax.swing.Timer.

...