Ola pessoal, sou novo por aqui… e estou com um problema com o JProgressBar.
É a primeira vez que uso e pesquisei bastante e não estou entendendo o que esta ocorrendo.
O que eu quero fazer é simples, quando o usuario clicar no botão salvar da interface o meu sistema executa comandos sql que é muito demorado e eu quero que apareça uma JProgressBar que simplesmente “finge” para que o usuario nao pense que travou.
só que esta acontecendo o seguinte:
quando o usuario clicar no botão salvar, é criado o objeto da classe que cria o JprogressBar e dou o setVisble(true) só que nao executa o comando da linha de baixo que é o codigo demorado.
somente se o usuario fechar o JProgressBar é que é executado a linha de baixo
essa é a classe que cria o JProgressBar
public class Progress extends JDialog {
private JProgressBar progressBar;
public Progress(TelaMatriculaCadastroAlunos parent, boolean modal) {
super(parent, modal);
setSize(400, 80);
this.setResizable(false);
this.setLocationRelativeTo(null);
setContentPane(getProgressBar());
}
public void setMensagem(String msg) {
progressBar.setString(msg);
}
private Container getProgressBar() {
progressBar = new JProgressBar();
progressBar.setIndeterminate(true);
progressBar.setStringPainted(true);
return progressBar;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Progress progre = new Progress(null, true);
progre.setVisible(true);
}
});
}
}
e esse aqui é o comando que esta no Action do botão Salvar
Progress p = new Progress(this, true);
p.setMensagem("SALVANDO... AGUARDE");
p.setVisible(true);
atualizarTabelaAlunosDaTurma(idTurma); // só executa se fechar a tela do JProgressBar
p.dispose();
alguem poderia me ajudar, não sei o que esta de errado
