Gostaria de mostrar uma progress bar rodando enquanto um processo demorado de geração de PDF ocorre, peguei e mudei uns exemplos daqui mesmo mas a progressbar fica parada:
A bar:
public class ImportProgress extends JDialog {
public ImportProgress() {
this.setTitle("Gera Relatorio");
setModal(false);
JProgressBar progress = new JProgressBar();
progress.setIndeterminate(true);
progress.setSize(480,20);
getContentPane().add(progress);
pack();
this.setLocationRelativeTo(null);
}
}
E o código onde eu chamo essa bar:
try{
final ImportProgress p = new ImportProgress();
p.setVisible(true);
SwingWorker<?, ?> worker = new SwingWorker<Object, Object>(){
@Override
protected Object doInBackground() throws Exception {
EventQueue.invokeLater(new Runnable() { @Override public void run() {
try {
gerarPDF();
} catch (Exception exc) {
// TODO Auto-generated catch block
exc.printStackTrace();
}
}
}
);
return null;
}
@Override
protected void done() {
p.setVisible(false);
}
};
worker.execute();
}catch(Exception ex){
JOptionPane.showMessageDialog(null,"Erro na Geração de PDF!");
ex.printStackTrace();
return;
}
Agradeço qualquer ajuda!