oi estou tendando gerar um relatorio pelo irreport na minha aplicação de java e tenho 3 perguntas referente ao codigo abaixo
metodo que gera o relatorio
public JasperPrint gerar() {
JasperPrint rel = null;
try {
HashMap map = new HashMap();
String arquivoJasper = "relatorio.jasper";
rel = JasperFillManager.fillReport(arquivoJasper,map,conexao);
} catch (JRException e) {
System.out.println(e.getMessage());
//JOptionPane.showMessageDialog(null,e.getMessage());
}
return rel;
}
parte da classe principal onde manda gerar o relatorio
final SwingWorker worker = new SwingWorker<Void, Integer>() {
protected Void doInBackground() throws Exception {
barraProgresso.setValue(0);
JasperPrint relat;
barraProgresso.setValue(50);
relat = p.gerar();
barraProgresso.setValue(100);
JasperViewer.viewReport(relat, false);
frameProgresso.setVisible(false);
return null;
}
};
1ªcolocar em um SwingWorker ou em uma Thread afeta o rendimento da minha aplicação qual dos 2 é o melhor
2ªconsigo botar dentro de um metodo ou classe a parte que gera o relatorio que testa repetidamente ate o fim do processo e a porcentagem feita ou o unico geito seria o escrito ai em cima
3ªcomo eu passo parametros para meo relatorio para por exemplo fazer uma busca de um determinado periodo no meo banco de dados