Мгновенное изменение изображения в цикле for - PullRequest
0 голосов
/ 11 сентября 2018

Я создаю тральщик в Java.Теперь моя проблема в том, что когда игра заканчивается, я хочу показать, где были бомбы, когда пользователь нажимает на них.Поэтому я решил написать функцию, которая будет вызываться при нажатии на одну из бомб.Эта функция будет циклически перебирать таблицу (сетка 10х10) и проверять, является ли плитка бомбой или нет.Если это так, его значок изображения будет изменен на другой, и я назову «Thread.sleep (200)».Таким образом, бомбы появятся сверху донизу.Моя проблема в том, что изменение ImageIcons в Java не происходит мгновенно.Если я кодирую, как я упоминал выше, будет вызван Thread.sleep (200), и мне придется ждать этого, но значки отображаются только в конце (я полагаю, когда пользователь снова получит ввод). Как я могу это сделать?показать значки изображений в цикле for?

Вот мой код (gombok - это мой массив JButton, для которого я хочу изменить значок):

public void gameover() {
        for(int i = 0; i < 10; i ++){
            for(int j = 0; j < 10; j ++){
                if(tiles[i][j].isIsbomb()) {
                    gombok[i][j].setIcon(bomb);
                    try {
                        Thread.sleep(200);
                    } catch (Exception e) {
                        System.out.println(e.getMessage());
                    }
                }
            }
        }
        dispose();
        System.out.println("Game Over");
    }
...