JProgressBar: Pegando o valor de um For em uma outra classe

Hey guys! Tudo certo? Bem… para começar eu tenho uma classe chamada “NeutralLine” e dentro desta classe, tenho um método que encontra para mim diversos pares de Esforços chamado “Envoltoria”. Neste método envoltória eu tenho um For. entao basicamente queria pegar o valor corrente do for e jogar no meu ProgressBar. Entretanto O que eu consegui até agora foi mostar a progressbar APENAS quando o precesso termina. Alguem pode me ajduar de como faço para resolver isto? .vou deixar o code abaixo.
// Classe JProgressBar
identar texto pré-formatado por 4 espaços

  • @author Administrador
    */
public class progressDialog extends JDialog {

    private JButton btn_cancel;
    private JProgressBar progressBar;

    public progressDialog(Window parent) {
        super(parent, "Processando...", ModalityType.APPLICATION_MODAL);
        

        btn_cancel = new JButton("Cancelar");
        progressBar = new JProgressBar();
        progressBar.setStringPainted(true);
        Dimension size = btn_cancel.getPreferredSize();
        size.width = 400;
        progressBar.setPreferredSize(size);
        setLayout(new FlowLayout());
        add(progressBar);
        add(btn_cancel);
        pack();
        this.setVisible(true);
        setLocationRelativeTo(parent);
        
    }

    public void setMaximum(int value) {
        this.progressBar.setMaximum(value);
    }

    public void setValue(int value) {
        this.progressBar.setValue(value);
    }

}

//CLasse NeutralLine
//Metodo que retorna a envoltória e momentos resistentes de acordo com uma determinada area de aço e Esforco normal

 public List<Esforcos> envoltoria(float a1, float a2, float atb, float Nd) {
        float a;
        List<Esforcos> moR = new ArrayList<>();
        a = a1;
        float b;
        b = a2;
        float ln;
// instanciando a progressBar
        PD = new progressDialog(parent);
        PD.setMaximum((int) b);
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                PD.setVisible(true);
            }

        });
        for (float i = a; i < b; i++) {
            final int v = (int) i;
            PD.setValue(v);
            ln = bissecant(0, 1000, i, atb, Nd);
            moR.add(moments(ln, i, atb));

        }

        return moR;
    }

Ai eu chamo o método envoltória em um button em uma classe controller
//

> NeutralLine LN = new NeutralLine(this.frame,this.sec, this.esf, this.mat);

Eu arranjo meus projetos em:
View: parte grafica

entites: classes contendo os métods
ViewController: eventos de botões, lists, etc

config

Dê uma olhada numa resposta que dei no GUJ sobre Progressbar: https://respostas.guj.com.br/30924-jprogressbar-sincronizado-com-metodo