Pessoal, já li uns tutoriais e ainda não consegui chamar meu relatório
feito com IReport na minha aplicação
vou postar: o código.
a exeption.
as bibliotecas.
Código:
package testarelatorio;
import java.net.URL;
import java.sql.Connection;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
public class TestaRelatorio {
public void exibirRelatorio() {
Conexao con = new Conexao();
try {
Connection start = con.conectar();
try {
System.out.println();
URL arquivo = getClass().getResource("Livro.jasper");
System.out.println(arquivo);
JasperReport jr = (JasperReport) JRLoader.loadObject(arquivo);
Map parametros = new HashMap();
System.out.println(parametros);
JasperPrint impressao = JasperFillManager.fillReport(jr, new HashMap(),start);
JasperViewer viewer = new JasperViewer(impressao, false);
viewer.setVisible(true);
}
catch (Exception ex) {
ex.printStackTrace();
con.fechar();
}
}
catch (Exception ex1) {
con.fechar();
con.fechar();
}
}
}
A pilha da exeção:
run:
Conexao bem sucedida!
file:/C:/Users/Administrador/Documents/NetBeansProjects/TestaRelat%c3%b3rio/build/classes/testarelatorio/Livro.jasper
{}
java.lang.NullPointerException
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
at testarelatorio.TestaRelatorio.exibirRelatorio(TestaRelatorio.java:29)
at testarelatorio.Relatório.jButton1ActionPerformed(Relatório.java:47)
at testarelatorio.Relatório.access$000(Relatório.java:4)
at testarelatorio.Relatório$1.actionPerformed(Relatório.java:21)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6290)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6055)
at java.awt.Container.processEvent(Container.java:2039)
at java.awt.Component.dispatchEventImpl(Component.java:4653)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
at java.awt.Container.dispatchEventImpl(Container.java:2083)
at java.awt.Window.dispatchEventImpl(Window.java:2482)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:648)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:607)
at java.awt.EventQueue$1.run(EventQueue.java:605)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:621)
at java.awt.EventQueue$2.run(EventQueue.java:619)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
Conexao encerrada com sucesso!
at java.awt.EventQueue.dispatchEvent(EventQueue.java:618)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
__________________________________________________________________________________
AS Bibliotecas:
jasperrepports-2.0.2.jar
mysql-connector-java-5.1.16.jar
commons-collection.jar
commons-lang.jar
commons-loggin.jar
jcommon.jar
commons-digester3-3.2.jar
__________________________________________________________________________________
Podem ver que no meu código eu coloquei uns System.out.println pra mostrar os objetos.
Quem puder me ajudar ficarei muito grato.
Ah sim, o relatório está na mesma pasta do programa