Versão atual:

Qual o problema com minha JProgressBar em form Runnable?

Meu programa interage com o banco de dados, e nessa operação os frames acabam ficando estáticos(travando). Tentei entao rodar uma barra de progresso dentro de um frame runnable e mesmo assim nao surtiu efeitos...

sabem dizer qual o problema com a minha classe?

import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.UIManager;


public class Progresso extends JFrame implements Runnable{

    JLabel rotulo;
    JProgressBar prog;
    public boolean status = true;

    private int max;
    private int min;
    int valor;
    private boolean ativo = false;
    public Progresso(int maximo,int minimo){
        max = maximo;
        min = minimo;
        valor = 0;
    }

    public void barraProg(){
        prog.setValue(prog.getValue()+ 1);
    }

    public void montaPainel(){
        this.setLocation((((Toolkit.getDefaultToolkit().getScreenSize().width - 400)  / 2) - (this.getWidth() / 2)),   
                (((Toolkit.getDefaultToolkit().getScreenSize().height - 150) / 2) - (this.getHeight() / 2))); 
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        } catch (Exception e) {
            e.printStackTrace();
        }

        this.setSize(400,150);
        this.setLayout(null);

        rotulo = new JLabel("AGUARDE... OPERAÇÃO EM PROCESSO!");
        rotulo.setBounds(90,30,350,40);
        prog = new JProgressBar();
        prog.setValue(0);
        prog.setBounds(30,80,350,20);
        add(prog);
        add(rotulo);

        this.setVisible(true);

    }

    public void run() {
        montaPainel();
        long valor = 0;
        while(status){
            if(prog.getValue() < getValor())            
            barraProg();
        }
    }

    public void insereBarra(int valor){
        this.valor = valor;
    }

    public int getValor(){
        return valor;
    }

    public void setStatus(boolean valor){
        status = valor;
    }

    public boolean getStatus(){
        return status;
    }



}

Versão(1):

Ver a versão formatada

Qual o problema com minha JProgressBar em form Runnable?

Comentário

new question