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
