Pessoal fiz uma busca e vi que muitos tiveram esse problema, mas não encontrei a solucção, se alguém puder me ajudar, obrigado.
Fiz um relatório pelo iReport, quando eu executo-o no NetBeans 7.1, roda perfeitamente, porém quando eu construo o programa (gero o .JAR), ele não chama o relatório, eu clico no botão Gerar Relatório e não acontece nada.
tentei usando o caminho absoluto, pois achei que não estaria localizando o .jrxml mas o mesmo encontra-se no local indicado.
// String path = currentDir+"/Carta.jrxml"; //tentei assim tbm
String path = currentDir+"/Carta.jasper";
Impressao imp = new Impressao();
try {
imp.ImprimeModal("Boletos", path, dados, brasao, cabecalho, texto, pag2);
} catch (JRException ex) {
JOptionPane.showMessageDialog(null, "Erro: " + ex.getMessage(), "Aviso", JOptionPane.ERROR_MESSAGE);
}
public void ImprimeModal(String titulo, String path, List lista, String brasao,String cabecalho,String soTexto, String pag2 ) throws JRException {
try {
JasperReport report = JasperCompileManager.compileReport(path);
Map parametros = new HashMap();
parametros.put("brasao", brasao);
parametros.put("cabecalho", cabecalho);
parametros.put("sotexto", soTexto);
parametros.put("pag2", pag2);
JasperPrint print = JasperFillManager.fillReport(report, parametros, new JRBeanCollectionDataSource(lista));
JasperViewer JViewer = new JasperViewer(print);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
JDialog form = new JDialog(new javax.swing.JFrame(), "Visualização do Relatório", true);
form.getContentPane().add(JViewer.getContentPane());
form.setSize(screenSize.width, screenSize.height);
form.setVisible(true);
} catch (JRException | HeadlessException e) {
JOptionPane.showMessageDialog(null, "Erro ao abrir o relatório."+e.getMessage(),"Erro",JOptionPane.ERROR_MESSAGE);
}
}