Bom, eu to com dificuldades em chamar o relatório no botão, já tentei várias vezes e nada. Já procurei em alguns tópicos mas não consegui resolver.
Estou usando o iReports 4.5 (Antes estava tentando com o 4.3) e o Netbeans 6.8
Eis o código:
publicvoidgerarRelatorio(){Connectionconn=null;try{Class.forName("com.mysql.jdbc.Driver").newInstance();// String reportname = "com.br.pinhuxsistemadevendas.relatorios.report1.jasper";InputStreamfis=this.getClass().getClassLoader().getResourceAsStream("/Pacientes.jasper");conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/autoodonto","root","");JasperPrintprint=JasperFillManager.fillReport(fis,newHashMap(),conn);JasperViewerjv=newJasperViewer(print,false);// false Needed not to close parent framejv.setVisible(true);}catch(Exceptionex){ex.printStackTrace();}finally{if(conn!=null){try{conn.close();}catch(Exceptionex){System.err.println(ex);}}}
Estou iniciando com os relatórios e ainda estou perdido.
Código:
ublicRelatorioConsulta()throwsSQLException,JRException{HashMapparametros=newHashMap();Stringcod=JOptionPane.showInputDialog(null,"Insira o código da consulta: ");conecta.getConection();Stringsql="select * from agenda where codigo = "+cod;PreparedStatementstmt=conecta.getConection().prepareStatement(sql);ResultSetrs=stmt.executeQuery();JRResultSetDataSourcejrRS=newJRResultSetDataSource(rs);JasperPrintjasperPrint;try{jasperPrint=JasperFillManager.fillReport("relatorio/Consultas.jasper",parametros,jrRS);JasperViewer.viewReport(jasperPrint,false);}catch(JRExceptionex){JOptionPane.showMessageDialog(null,ex);}publicstaticvoidmain(Stringargs[])throwsSQLException,JRException{newRelatorioConsulta();}}
[]'s
L
leocantanhede
Sua aplicação não esta localizando o arquivo relatorioConsultas.jasper, verifique se ele esta na pasta que estão seus relatórios.
V
Vander_Carlos
Ta difícil, é ajeitando um erro e aparecendo outro, olha o que apareceu agora:
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/ReferenceMap
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.<init>(DefaultExtensionsRegistry.java:97)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:59)
at net.sf.jasperreports.extensions.ExtensionsEnvironment.createDefaultRegistry(ExtensionsEnvironment.java:80)
at net.sf.jasperreports.extensions.ExtensionsEnvironment.<clinit>(ExtensionsEnvironment.java:68)
at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:83)
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:77)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:87)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:57)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
at br.autodontov1.relatorio.RelatorioConsulta.<init>(RelatorioConsulta.java:47)
at br.autodontov1.relatorio.RelatorioConsulta.main(RelatorioConsulta.java:57)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.ReferenceMap
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 21 more
Java Result: 1
[]'s
L
leocantanhede
Coloque este jar que estão em anexo no seu classpath
V
Vander_Carlos
Mesma coisa…
og4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
at net.sf.jasperreports.components.ComponentsExtensionsRegistryFactory.<clinit>(ComponentsExtensionsRegistryFactory.java:99)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:53)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:236)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:213)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:163)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:133)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:105)
at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:83)
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:77)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:87)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:57)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
at br.autodontov1.relatorio.RelatorioConsulta.<init>(RelatorioConsulta.java:51)
at br.autodontov1.forms.FormPaciente.btRelatorioActionPerformed(FormPaciente.java:689)
at br.autodontov1.forms.FormPaciente.access$000(FormPaciente.java:61)
at br.autodontov1.forms.FormPaciente$1.actionPerformed(FormPaciente.java:181)
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:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
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)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.digester.Rule
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 49 more
[]'s
L
leocantanhede
Mesma coisa não, a mensagem mudou coloca estes 2 agora para acabar com os arquivos apache-commons
V
Vander_Carlos
Falei no sentido que ainda tava com erro…
Agora deu tudo certo, o relatório abriu como eu queria.
Mas apareceu apenas isso ainda:
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
Valeu pela ajuda e obrigado pela atenção
[]'s
L
leocantanhede
De nada, se preoucupa com esta mensagem não, ela só esta aparecendo porque o log não foi, configurado, não irá alterar em nada sua aplicação.