Pessoal,
Estou precisando que uma tela preencha uma barra de progresso em outra tela…
Vou explicar especificadamente:
Tenho uma tela muito simples, é um JPanel com apenas um botão.
Esse botão vai abrir um outro Jframe com uma Jtable dentro de um Jscrollpane.
Acontece que esse outro JFrame demora um pouco pra abrir pois faz uma consulta pesada no banco e gera um relatório.
Então quando o usuário clica no botão o programa parece que está “travado” até abrir a outra tela, como os usuários são desesperados já saem fechando o programa e reclamando.
O que eu gostaria de fazer é colocar uma progressbar na tela que tem apenas o botão. Então ao abrir a outra tela com o relatório esta tela deveria ir preenchendo o progressbar conforme vai passando no while que monta o relatório.
Quanto ao progressbar é tranquilo, sei utilizá-lo, o meu problema é como vou preencher esse progressbar a partir de uma outra tela.
Pode ser algo simples mas não está claro pra mim.
Se puderem ajudar agradeço.
EDIT:
Para ilustrar melhor segue o “pseudocódigo” das telas:
[code]public class tela1 extends JPanel {
private JButton btn1;
private JProgressBar progressBar;
public telaRecorrencia() {
add(retornarBtn1());
add(returnProgressBar());
}
public JProgressBar returnProgressBar(){
progressBar = new JProgressBar();
progressBar.setBounds(43, 102, 146, 26);
return progressBar;
}
public JButton retornarBtn1() {
btn1 = new JButton("Abrir tela");
btn1.setBounds(43, 34, 146, 44);
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//Abre a outra tela (tela2).
}
});
return btn1;
}
}
[/code]
public class tela2 extends JFrame {
private JScrollPane pane;
public telaEventosRecorrencia() {
add(getListaDeResultados());
}
public JScrollPane getListaDeResultados() throws Exception {
//Faz uma consulta abre um resultset
while (rs.next()) {
//monta relatorio e a Jtable e blablabla
//Aqui eu gostaria de botar um contador ou algo assim pra carregar a progressbar na tela1
}
}