[RESOLVIDO]Como abrir um arquivo .jasper por uma aplicacao java Desktop?
12 respostas
thiagofacanha
Olá pessoal.
Gostaria de saber como faço para abrir um relatorio do ireport por uma aplicação java Desktop.
Eu já uso ireports, porém utilizava o JasperServer para disponibilizar os relatórios… Me foi pedido agora uma aplicação .jar para executar os relatorios… alguem pode me passar um exemplo ?
Sim. Sao varias libs que devem estar no build patch
thiagofacanha
Opa cara deu certinho aqui...
criou relatorio sem pagina.. mas isso eu vou ver depois =D
segue o código.
/** To change this template, choose Tools | Templates* and open the template in the editor.*/importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.util.HashMap;importnet.sf.jasperreports.engine.*;importnet.sf.jasperreports.engine.util.JRLoader;importnet.sf.jasperreports.view.*;/**** @author Administrador*/publicclassChamaReport{privatestaticConnectiongetConnection()throwsClassNotFoundException,SQLException{Stringdriver="com.mysql.jdbc.Driver";Stringurl="jdbc:mysql://localhost:3306/schema";Stringuser="root";Stringpassword="senha";Class.forName(driver);Connectioncon=DriverManager.getConnection(url,user,password);returncon;}publicstaticvoidmain(String[]args)throwsJRException,Exception{newChamaReport().geraRelatorio();}privatevoidgeraRelatorio()throwsJRException,SQLException,ClassNotFoundException{HashMapmap=newHashMap();Stringarquivo="teste.jasper";JasperReportjasperReport=(JasperReport)JRLoader.loadObject(arquivo);JasperPrintjasperPrint=JasperFillManager.fillReport(jasperReport,map,ChamaReport.getConnection());JasperViewerjrviewer=newJasperViewer(jasperPrint,false);jrviewer.setVisible(true);}}
Foi necessário realmente importar todas aquelas libs
TheKill
Sim, as libs são fundamentais.
Att. Jonas
sammarino1975
Oi amigo, estou com o mesmo problema, o meu relatorio abre so dentro do NetBeans, quando rodo a aplicação compilada ele nao aparece. Sobre estas libs, em que pasta elas devem ficar? na pasta do C:\Arquivos de Programas\Java\jdk1.6_22\jre\lib\ext ou na pasta build do meu projeto? Obrigado
Só pra complementar, pra quem precisar: para salvar os relatórios em PDF, é necessário também importar o ‘iText-X.X.X’.
sammarino1975
Consegui resolver o problema, só estava faltando o operador + e tudo deu certo, 100% funcionando.
O programa não me pergunta qual pag eu quero imprimir, mas imprime o numero que eu colocar no campo Numero do Pag do formulário Escolhe Pagamento. Perfeito.
Segue o código. Talvez possa servir para outra pessoa.
con.conecta();con.executeSQL("select * from pagamentos where numero_pag= "+Formularios.EscolhePagamento.tf_pag.getText());HashMapparametro=newHashMap();parametro.put(“P_CODIGO”,Formularios.EscolhePagamento.tf_pag.getText());JRResultSetDataSourcejrRS=newJRResultSetDataSource(con.resultset);JasperReportreport=(JasperReport)JRLoader.loadObject(“C:/Pagamentos/relatorios/autcaixa.jasper”);JasperPrintrelatorio=JasperFillManager.fillReport(report,parametro,jrRS);JasperViewerviewer=newJasperViewer(relatorio,false);viewer.setTitle(“RelatóriodePagamentos”);viewer.setVisible(true);viewer.show();}
catch (Exception erro)
{
JOptionPane.showMessageDialog(null, " Relatorio não localizado " + erro);
}
}