JProgressBar w nowym wątku JDialog

Chciałbym zrobić JProgressBar w nowym JDialogu, który będzie w oddzielnym wątku od głównej logiki. Mogę więc rozpocząć nieokreślony postęp po prostu tworząc nowy JDialog i kończąc postęp w usuwaniu JDialog. Ale trudno mi to osiągnąć, ponieważ po pojawieniu się JDialog nie pokazuje żadnych komponentów (w tym JProgressBar), dopóki logika w głównym wątku (SwingUtilities) nie zostanie wykonana.

Wątek zawierający JDialog:

package gui.progress;

public class ProgressThread extends Thread {
    private ProgressBar progressBar = null;

    public ProgressThread() {
        super();
    }

    @Override
    public void run() {
        progressBar = new ProgressBar(null);
        progressBar.setVisible(true);
    }

    public void stopThread() {
        progressBar.dispose();
    }
}

Metoda przełączania JProgressBar:

private static ProgressThread progressThread = null;
...
public static void toggleProcessBar() {
    if(progressThread == null) {
        progressThread = new ProgressThread();
        progressThread.start();
    } else {
        progressThread.stopThread();
        progressThread = null;
    }
}

questionAnswers(2)

yourAnswerToTheQuestion