JProgressBar en el nuevo hilo JDialog

Me gustaría hacer JProgressBar en el nuevo JDialog, que estará en un hilo separado de la lógica principal. Así que puedo comenzar un progreso indeterminado con solo crear un nuevo JDialog y completar ese progreso con la eliminación de JDialog. Pero me resulta difícil lograrlo porque después de que aparece JDialog, no muestra ningún componente (incluido JProgressBar) hasta que la lógica en el hilo principal (SwingUtilities) está lista.

Hilo incluyendo 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();
    }
}

Método de cambio de JProgressBar:

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

Respuestas a la pregunta(2)

Su respuesta a la pregunta