Как использовать Swing Timer для задержки загрузки индикатора выполнения

Мне нужно найти способ использовать Swing Timer с индикатором выполнения. Я попытался с помощью Thread.sleep (), но приложение зависло при его использовании. Есть ли способы использовать таймер качания вместо сна ()?

public void piiEros(int dist)
{
    Pii pii = new Pii();
    pii.setVisible(true);
    for(int pc = 0;100 > pc; pc++)
    {
        try {
            Thread.sleep(dist/100);
        } catch (InterruptedException ex) {
            Logger.getLogger(Trav.class.getName()).log(Level.SEVERE, null, ex);
        }
        pii.pg.setValue(pc);
    }
    pii.dispose();
    o.Eros();
}

ЗАМЕЧАНИЯ: Pii - это класс с Progress Bar. Dist - скорость, с которой он загружается. Trav - это класс, в котором находится метод. Pc означает%, сколько сделано, отображается на панели. О. Эрос открывает другой графический интерфейс.

Ответы на вопрос(2)

Ваш ответ на вопрос