Reportes Netbeans



Mas Reportes

Respuestas

  1. Hola amigo oye antes que nada queria felicitarte me agrada eso de que compartas tus conocimientos con las personas veras lo que pasa es de que vi el tutorial de “Aprenda Reportes con ayuda del plugin IREPORT para Netbeans y MySQL, en N Diapositivas” y me atore un poco a partir de la diapositiva 30, es que no supe bien en donde meter todo el codigo de abajo no se si me podrias ayudar con esa parte y tambien con la de el formulario porque ya lo cree y le meti el codigo al formulario:
    private IniciarReporte jasper;
    public frame() {
    initComponents();
    jasper=new IniciarReporte();
    }
    Pero me marca error en IniciarReporte dice: cannot find symbol
    symbol:class IniciarReporte
    location: class reports.frame

  2. Primero verifica que tu clase efectivamente se llame IniciarReporte y que las letras mayusculas y minusculas tambien coincidan, el hecho de que no encuentre la clase radica en que esta mal escrita el nombre de la misma.

    • Buen día Javier.
      yo realize todo como esta en tutorial, y me tira error y lo estoy haciendo con netbeans 7 y jasperreport 4.1.1 el errór es el siguiente,

      te pido me ayudes ya que tengo demasiado tiempo con este problema de no poder cargar un reporte desde un botón, e intentado con otro código pero nada me funciona, esto me tiene detenido en mi proyecto

      que dios te bendiga….

      Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: org/apache/commons/collections/ReferenceMap
      at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.(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

  3. Saludos cordiales señor Geniz, muchisimas gracias por su valiosisimo aporte para nosotros los estudiantes y demas interesados de programación Java. Estoy siguiendo su manual de “Aprenda Reportes con ayuda del plugin IREPORT para Netbeans y MySQL, en N Diapositivas” , y pude completarlo a fin de visualizar el reporte pero lo unico que me falta es programar el boton para poder hacer la busqueda segun matricula para visualizar una persona en especifico, nada mas.. De ante mano muchisimas gracias por su valiosa y generosa receptividad. Ignacio Aular, Venezuela.

    • de hecho en el on nadamas se instancia la clase y la mandamos a llamar pasandole como parametro los datos obtenidos de un JTextfield, el codigo del boton se encuentra en la diapositiva 37

  4. OK muchas gracias amigo ya pude resolver el problema, gracias por tu ayuda y muchas felicidades por tu pagina esta muy bien hasta luego saludos!!

  5. Saludos cordiales señor Geniz, muchisimas gracias por su valiosisima ayuda.

  6. Hola, te felicito por tu presentasion, de lo rescatable en español que hay en al red sobre el tema. Disculpe en su presentacion no habla sobre como importar una clase de java (Scriptlet) a un reporte. Es que tengo la necesidad crear un reporte que es un tipo paragare, y tengo que escribir el importe del pagare con letra, ya investigué y dicen que hay que crear una clase que contega la funcion que convierta el numero a la descricion con letras, lo cual tambien ya lo hice. Despues me dicen que hay que declarar la como Script Class y declararla en el classpath de ireport. Eso ya tambien lo hice, pero cuando compilo el reporte, me dice que la clase no puede ser encontrada. Mira me basé de esta información http://robertux.wordpress.com/2009/08/14/como-usar-scriptlets-con-ireport-3-5-3-y-netbeans/
    La verdad ya lo he intentado de varias formas y no se en que estoy mal, no se si la forma de importar no e sla correcta o si tengo que ubicar en un lugar espesifico la clase para la que la encuentre. De antemano agradesco tu ayuda.

  7. Hola: xfa me podrias ayudar con un problema q tengo al intentar crear un reportese gui toooodos los pasos que indicas en el manual pero no me funciona a continuacion te adjunto el archivo donde hago la creacion del mismo:
    package prueba;

    /**
    *
    * @author hector
    */
    // Importaciones de las librerias
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import javax.swing.*;
    import java.util.HashMap;
    import java.util.Map;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.engine.util.JRLoader;
    import net.sf.jasperreports.view.*;
    import net.sf.jasperreports.view.save.JRPdfSaveContributor.*;
    import net.sf.jasperreports.view.JRViewer.*;
    import net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor.*;
    public class IniciarReporte {
    /*Se inicia la Superclase y su constructor ademas se establece la conexión*/
    Connection conn=null;
    public void IniciarReporte()
    {
    try
    {
    Class.forName(“com.mysql.jdbc.Driver”); //se carga el driver
    conn= DriverManager.getConnection(“jdbc:mysql://localhost:3306/dinatek”,”root”,”hector”);
    //JOptionPane.showMessageDialog(null,”Conexiónestablecida”);
    }
    catch (Exception ex)
    {
    ex.printStackTrace();
    }
    }
    /* Se inicia la clase que ejecutara el reporte y se carga el archivo*/
    public void ejecutarReporte(String id){
    //String archivo = “reporte.jasper”;
    IniciarReporte();
    try{
    String archivo = “Reporte Usuario.jasper”;
    System.out.println(“Cargando desde: ” + archivo);
    if(archivo == null){
    System.out.println(“No se encuentra el archivo.”);
    System.exit(2);
    }

    JasperReport masterReport= null;
    try{
    //JasperReport report = JasperCompileManager.compileReport(“C:/Documents and Settings/hector/Escritorio/prueba/Reporte Usuario.jrxml”);
    masterReport= (JasperReport)JRLoader.loadObject(archivo);
    }
    catch (Exception ej) {
    System.out.println(“Error cargando el reporte maestro: ” + ej.getMessage());
    System.exit(3);
    }

    //este es el parámetro, se pueden agregar más parámetros
    //basta con poner mas parametro.put
    Map parametro= new HashMap();
    parametro.put(“ID_USUARIO”,id);
    //Reporte diseñado y compilado con iReport
    JasperPrint jasperPrint= JasperFillManager.fillReport(masterReport,parametro,conn);
    //Se lanza el Viewerde Jasper, no termina aplicación al salir
    JasperViewer jviewer= new JasperViewer(jasperPrint,false);
    jviewer.setTitle(“Geniz -Reporte”);
    jviewer.setVisible(true);
    }
    catch(Exception j){
    System.out.println(“Mensaje de Error:”+j.getMessage());
    }
    }
    /* por ultimo se cierra la conexión*/
    public void cerrar(){
    try {conn.close();}
    catch (SQLException ex) {ex.printStackTrace();}}
    }

    • porfa coloca el error que marca para que yo pueda identificarlo rapidamente y asi podamos corregirlo

  8. Saludos cordiales señor Geniz, muchisimas gracias por su valiosisimo aporte.
    Después de buscar en Internet respuestas como ejecutar un reporte encontré un código bueno es básico pero me sale un error por favor no se si podrías ayudar ya estoy una semana en búsqueda y encontré su ppt que esta muy bueno quisiera almeno ejecutar este código muy básico y seguir con mas desafió soy novato es esto aquí esta el código:

    Y el error que me sale.

    package me.org.reportes;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import net.sf.jasperreports.engine.JasperCompileManager;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.engine.design.JasperDesign;
    import net.sf.jasperreports.engine.xml.JRXmlLoader;
    import net.sf.jasperreports.view.JasperViewer;

    /**
    *
    * @author Jesus
    */
    public class Report01 {

    public static Connection conectaDB() {
    String url = “jdbc:mysql://localhost/opsmarkadm”; // URL
    String usuario = “root”; // usuario
    String password = “admin”;
    Connection cn = null;
    try {
    Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

    cn = DriverManager.getConnection(url, usuario, password);
    } catch (Exception e) {
    System.out.println(“mensaje :” + e.getMessage());

    }
    return cn;

    }

    public static void main(String args[]) {

    try {

    // String fileName = System.getProperty(“user.dir”) + “\\me\\org\\reportes\\peru01.jrml”;
    // JasperReport jReport = JasperCompileManager.compileReport(fileName);

    JasperDesign jDesign = JRXmlLoader.load(“\\me\\org\\reportes\\peru01.jrml”);
    JasperReport jReport = JasperCompileManager.compileReport(jDesign);
    Connection cn = conectaDB();
    JasperPrint jPrint = JasperFillManager.fillReport(jReport, null, cn);
    cn.close();
    JasperViewer.viewReport(jPrint);

    } catch (Exception ex) {
    System.out.println(ex.getMessage());
    }
    }
    }
    —————————————
    error:
    java.io.FileNotFoundException: \me\org\reportes\peru01.jrml (El sistema no puede hallar la ruta especificada)
    —————————————–
    Lo agradezco y espero su pronta respuesta muchas gracias
    tanto mi .jrxml y mi .java estan en la misma carpeta

    • El error esta en esta linea Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver”)
      ya que esta linea indica la conexion con una funete de datos ODBC y en tu ruta de acceso a la base de datos insdicas que estaras conectando con mysql
      si la conexion va a ser con un origen odbc deja ese nombre del driver y cambia la ruta, de lo contrario si va a ser con mysql deberias cambiar el nombre del driver
      por com.mysql.jdbc.Driver

    • el archivo debe tener la extesnion jrxml o de preferencia la extension .jasper y la ubicacion de preferencia que sea una ruta relativa y no absoluta, si
      pones una relativa como solo el nombre del archivo y la extension coloca el archivo en la carpeta principal del proyecto y no donde se encuentran las clases de java

  9. hola tengo un problema
    lo que pasa es que tengo que llamar un jasper reort desde net beans ya sea de un frame o de un boton .
    para ver si tu podrias ayudarme
    epero su repuestas……

    • claro que si checa este manual que hice hace unos dias, intenta hacer el ejercicio que va indicando, y despues me dices si marco algun error para que podamos corregirlo, puesde descargalo desde aqui Manual de Reportes con Netbeans

  10. Saludos amigo gracias por responder tienes mucha razón que driver debería ser de MySql estaba mal bueno lo cambie y me sigue saliendo el mismo error por favor no se cual seria el problema.

    package me.org.reportes;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import net.sf.jasperreports.engine.JasperCompileManager;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.engine.design.JasperDesign;
    import net.sf.jasperreports.engine.xml.JRXmlLoader;
    import net.sf.jasperreports.view.JasperViewer;

    /**
    *
    * @author Jesus
    */
    public class Report01 {

    public static Connection conectaDB() {
    String url = “jdbc:mysql://localhost/opsmarkadm”; // URL
    String usuario = “root”; // usuario
    String password = “admin”;
    Connection cn = null;
    try {
    Class.forName(“com.mysql.jdbc.Driver”);
    cn = DriverManager.getConnection(url, usuario, password);
    } catch (Exception e) {
    System.out.println(“mensaje :” + e.getMessage());

    }
    return cn;

    }

    public static void main(String args[]) {

    try {

    //String fileName = System.getProperty(“user.dir”) + “\\me\\org\\reportes\\peru01.jasper”;
    // JasperReport jReport = JasperCompileManager.compileReport(fileName);

    JasperDesign jDesign = JRXmlLoader.load(“\\me\\org\\reportes\\peru01.jrxml”);
    JasperReport jReport = JasperCompileManager.compileReport(jDesign);
    Connection cn = conectaDB();
    if (cn != null) {
    JasperPrint jPrint = JasperFillManager.fillReport(jReport, null, cn);
    cn.close();
    JasperViewer.viewReport(jPrint);
    } else {
    System.out.println(“error en la cn”);

    }

    } catch (Exception ex) {
    System.out.println(“error \n” + ex.getMessage());
    }
    }
    }

  11. Geniz…Concentido….q bueno q no estas en venezuela…sino tendria q escribirte diario…. asi q mejor t molesto en el salon jaja

  12. Hola que tal, de antemano muchisimas gracias por poner toda esta iformación para consultarla, es de mucha ayuda. Sabes trate de ejecutar el reporte que describes en la presentación pero me marca un error, es el siguiente:

    Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:95)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)

    no sé a que se debe, estoy aprendiendo java y el manejo de reportes con ireport, te agradecería mucho si me pudieras ayudar

    • Fijate por que ese error te lo esta dando seguramente por que te falta agregarle alguna libreria al proyecto

      saludos

  13. Hola sr javier me parece super interesante ademas de grafico y expliativo tu aporte de generar reportes ps mira tengo una pequeña dificultad llevo muy adelantado un proyecto y llegue a la estapa de reportes sin embargo cuando empece a leer una de las especificacion es utilizar netbaenas superio a 6.0
    actualmente estoy utilizando netbeans 5.5 mi pregunta es ¿existe una restriccion con 5.5 para generar reportes? si ese es el caso debo subir mi proyecto a 6.0 me alentaria mucho tu respuesta para poder solucionar mi problema
    Muchas gracias =)

    • de hecho nose cual de mis manuales subiste, pero si esq viste el de reportes con netbeans, este tipo de reportes esta hecho con un plugin especialmente diseñado para versiones superiores a la 6.0, aunque de hecho Ireport tambien puede encontrarse de manera separada, de hecho la solucion a tu problema, seria que los hicieras de forma separada y despues los invocaras desde netbeans 5

  14. Hola, que tal.
    Tocallo, por cierto.

    Antes que nada muchas gracias por el aporte, gracias a personas como tu, algunos podemos aprender algo nuevo.

    Tengo ya un buen rato, intentando esto y no me funciona, ojala y me pudieras ayudar.

    Casi todo esta listo, librerias, plugins, etc. El reporte ya esta hecho, funciona bien, en mi clase donde lo cargo, funciona todo bien hasta llegar a:
    JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,null,conex);
    si lo ejecuto en modo debug ahi se queda y ya no avanza, si lo ejecuto normal, no hace nada no muestra, ni errores ni algo maso.

    Que podra ser?

    Gracias de antemano.

  15. ola ante todo agradecerle por ayudarnos a solucionar nuestros problemas .. bueno el motivo por el cual le escribo es pàra preguntarle como puedo acer si tene una aplicacion java con mysql y quiero hacer un reporte de una determindada factura? los pasos a seguir son los mismos de las diapositivas o como puedo hacer pa llamarla mediante uun boton(IMPRIMIR) y visulizar el reporte.Bueno espero pueda ayudarme :) gracias

    • justamente en mi manual de netbeans se hace un reporte de acuerdo a un parametro recibido, checalo bien y encontraras incluso el codigo que lo generara en un boton

  16. Hola Geniz, que gusto tener gente como tú, gracias por compartir tus conocimientos con los demas , lei tu manual para generar reportes en netbeans y realice la practica que manejas de ejemplo pero tengo varias dudas; cuando genere la clase yo lo hice de la siguiente manera y no se si sea correcta Sobre el proyecto le di click derecho- New–Java Class — y le puse el nombre de IniciarReporte (aqui pegue el código que manejas y no me marca ningun error) pero cuando ejecuto mi formulario me marca los siguientes 2 errores :

    symbol : class IniciarReporte
    location: class GenerarReporte
    private IniciarReporte Jasper;

    symbol : class IniciarReporte
    location: class GenerarReporte
    Jasper = new IniciarReporte();
    2 errors
    BUILD FAILED (total time: 1 second)

    no entiendo por que me marca esos errores, me podrias ayudar y de ante mano te agradezco la atención gracias.

  17. brother una consulta sobre las librerias k aparecen en la diapositiva 5 y tambien sobre el plugin toy buscando en todas pagina posibles y no encuentro de donde descargarlos es necesario eso verdad? no se si me puedas brindar una pagina de internet de donde puedo bajarlo.. muchas gracias :) DTB

  18. Hola ya pude solucionar el problema de la clase ya no me marca ningun error en esa parte pero ahora cuando ejecuto el formulario me aparece conexion establecida le doy aceptar aparece el formulario lleno el dato de la matricula y me sale el siguiente error:
    init:
    deps-jar:
    compile-single:
    run-single:
    Cargando desde: Gentz-Reporte.jasper
    Error cargando el reporte maestro: java.io.FileNotFoundException: Gentz-Reporte.jasper
    Java Result: 3
    BUILD SUCCESSFUL (total time: 11 seconds)

    me puedes ayudar porfis, gracias te lo agradeceria mucho.

    • Ese error es basicamente porque no encuentra el archivo, especifica la ruta si te es posible de manera completa. o si tienes rutas relativas checA QUE EL REPORTE SE ENCUENTRE DENTRO DE LA CARPETA DEL RPOYECTO Y ADEMAS QUE YA ESTE COMPILADO.

  19. Hola, ya pude correr mi programa correctamente muchas gracias por la ayuda y si efectivamente tenia error en la ruta, ya que no la especifique.
    y nuevamente que gusto tener gente como tú, gracias por compartir tus conocimientos con los demas.

  20. Hola! estoy realizando reportes con netbeans 6.0 y iReport ya los tengo generados y todo bien. Pero necesito exportarlos a Excel cuando genero el reporte desde la pagina web hay una opcion para guardar .xls pero necesito implementarla. Si me podrían ayudar con esto .Gracias

  21. HOla ! estoy comensado a estudiar ireport y de verdad que es una herramienta muy buena soy novato en java y noce trabajar muxo con eventos hice todos los pasos del tutorial pero me tropese en el Jframe ya que aqui es donde tengo q agregarle el evento al boton y noce como hacerlo de verdad que le agradeceria mucho si coloca el codido del jframe en la pagina o me explicas como hacerlo..
    graciass..

  22. buenas de antemano gracias por el tutorial esta muy bien explicado…
    te agradeceria si pudieras explicarme o enviarme un tutorial de como generar un reporte maestro que dentro de el lleva un subreporte…
    gracias…

  23. Hola felicidades por tu manual, la verdad que me sirvio muchisimo solo que al ejecutar el informe me manda estas dos advertencias y no se a que se refiere, el informe lo muestra correctamente solo quiero eliminar de ser posible las advertencas
    log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
    log4j:WARN Please initialize the log4j system properly.

  24. Error cargando reporte maestrojava.io.FileNotFoundException: protesis.jasper
    Java Result: 3

    cuando trato de generar el reporte me muestra ese error me podrias ayudar
    gracias

    • EL error te sale porque simple y sencillamente no encuentra el archivo jasper, pon la ruta abosluta ejemplo: “c://reporte.jasper”, o una relativa como reporte.jasper, pero en esta opcion el reporte debera estar dentro de la carpeta rincipal del proyecto.

  25. hola geniz estan padres los manuales a ver que dia subes mas nos vemos mañana en la escuela porque ya me voy sale

  26. hola, estoy empezando con los reportes en netbeans y pues me surge una duda que no puedo solucionar :
    Error filling print… Unable to get value for field ’fechaNac’ of class ’java.sql.Date’
    net.sf.jasperreports.engine.JRException: Unable to get value for field ’fechaNac’ of class ’java.sql.Date’      at net.sf.jasperreports.engine.JRResultSetDataSource.getFieldValue(JRResultSetDataSource.java:317)      at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:799)      at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:763)      at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1402)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:111)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:888)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:791)      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)      at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:890)      at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)      at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)  Caused by: java.sql.SQLException: Value ’0000-00-00′ can not be represented as java.sql.Date      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)      at com.mysql.jdbc.ResultSet.getDateFromBytes(ResultSet.java:2223)      at com.mysql.jdbc.ResultSet.getDate(ResultSet.java:1971)      at com.mysql.jdbc.ResultSet.getDate(ResultSet.java:1934)      at net.sf.jasperreports.engine.JRResultSetDataSource.getFieldValue(JRResultSetDataSource.java:138)      … 12 more 
    Print not filled. Try to use an EmptyDataSource…
    espero me puedas contestar. gracias de todas formas

    • Podrias escribir un poco de mas detalles,por ejemplo el tipo de dato que estas utilizando, el formato o alguna informacion adicional

  27. Hola, muy bueno tu blog, un gran paorte…
    Estoy haciendo reportes con NetBeans , siguiendo los pasos en el manual que has compartido, pero me sale este error: java.io.FileNotFoundException, por lo que he leido aca msmo, es porque noe ncuentra el archivo que cargará.pero lo tengo en la carpeta principal del proyecto..y nada…ademas coloque la ruta entera de esta forma: archivo=”C:/Documents and Settings/Pc/Mis documentos/Descargas/Proyecto/ReporteHistoria.jasper”; porque si coloco el slash de la otra forma osea asi:\ me sale error…
    pero aun asi colocandole la ruta me sale ahora otro error que es este:
    java.lang.NullPointerException
    Espero puedas ayudarme por favor…
    Muchas Gracias de antemano.

    • t recomiendo colocar solo el reporte en la carpeta principal del proyecto y en la ruta coloca solo el nombre, recuerda que java es sencible a mayusculas y minusculas, por lo que tambien checa si esta bien escrito el nombre del archivo

  28. Hola, antes que nada men, muchas gracias, tu manual esta de poca madre y se le entiende bien. Solo una duda: ya hice todo lo que me pediste, pero me marca este error:

    run:
    Cargando desde: Reporte.jasper
    Mensaje de Error:null
    BUILD SUCCESSFUL (total time: 8 seconds)

    De antemano, muchas gracias.

    • este erro sse debe a que no encuentra el archivo jasper, si la ruta que le escribiste fue una relativa y solo es el nombre del archivo, este se debe ubicar dentro de la carpeta principal de tu proyecto, no te confundas y lo coloques en la misma carpeta del codigo ya que no lo localizara, o puedes usar una ruta absoluta (si utilizas un backslash, debes poner doble en java)

  29. Hola amigo, soy yo otra vez. Ya lo intente como dijiste y no pude. ¿No tendrias mejor el codigo fuente? que me enviaras. A cambio te “pagaria” haciendo un video paso a paso de tu tutorial y colgandolo en youtube, obviamente con tus creditos, asi se beneficiaria mas gente, muchas gracias.

  30. lo olvidaba, mi mail es yeschuarapsodia@hotmail.com, otra vez, gracias men

  31. Me da error en la linea:
    JasperPrint jasperPrint= JasperFillManager.fillReport(reporte, parametro,con);
    me subraya en rojo “fillReport” y me dice “Can not find symbol”
    NO se por que ?

    • EL q no enuentre el simbolo se debe a que quizas no has echo la importacion de las librerias necesarias, checa al principio del manual la lista de las librerias q se requieren, en este caso este metodo pertenece a la libreria principal.

  32. Hola Geniz, el reporte no se muestra! lo hice exactamente como esta en tu diapositiva pero nada. Me sale el siguiente error:

    org.codehaus.groovy.control.CompilationFailedException

    • Solo tienes que agregar la libreria de groovy que se llama groovy-all-1.5.5.jar

  33. Encontre el error anteior , el problema era que no le estaba pasando bien el objeto coneccion , no lo reconocia como Connection. pero ya esta andando bien

    Despues haciendo el BUild me salio esto, alguien sabe como lo soluciono ?
    gracias
    D:\Users\sgonzalez\Documents\NetBeansProjects\EtiquetaCorreo\nbproject\build-impl.xml:434: taskdef class org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs cannot be found

  34. Saludos cordiales para usted señor Geniz, le escribo en esta nueva oportunidad desde Venezuela, a ver que posibilidades existe para que me haga el favor de indicarme como puedo generar un Chart para los reportes en PDF que ya he podido lograr gracias a su invalorable apoyo, desde ya muchisimas gracias por ayudarnos a todos en estos trabajos…!

  35. Que tal buenas , otra ves tengo un un problema , como paso por parametro una fecha, desde netbeans, para que la tome el query del ireports. El problema es formato … no se como hacerlo.
    Si alguien me puede ayudar gracias

  36. El formato de utilizo para buscar por una fecha en el query del ireports es FECHA = {d ’2010-01-08′} , lo puedo converit … ayudaaa porque no ecnuetro nada de eso en ningun lado

    • Saludos cordiales Sebas, quiero ayurle pero no estoy claro en lo que quiere,
      por favor envieme el codigo para ver en que le puedo ayudar, ignacio_345@hotmail.com, Marin, San Felipe, Venezuela. Hasta pronto.

  37. Ignacion muchisimas gracias, por suerte pude resolever el problema , buscando por internet encontre la manera de manejar las fechas , nuevamente gracias…
    Pero me surgio otra duda, ya genero reportes…yo voy recorriendo un resultSet y me genera un reporte por cada “cliente”,(eso es lo que quiero que haga) lo que sucede que me gustaria , guardar el pdf en un directorio y que mande la impresion a la impresota por defecto, para asi poder tener la opcion de abrir el reporte ya generado simplemente abriendo el pdf. y a su ves tener una copia impresa alguien sabe como se puede hacer eso ? desde ya gracias.-

  38. Saludos cordiales Sebas, me alegro mucho que hayas podido resolver el problema de las fechas, yo busque a ver como era eso y no la encontre, trate de hacerlo yo mismo y menos, mas bien me enrrolle, yo soy novato, me gustaria que me enviara como hacerlo porque ahora el dudoso soy yo ;-) ), por otro lado vere como hago para tratar de ayudarte ya a que lo que quieres hacer es realmente interesante… Hasta pronto.

  39. Estimado ignacion perdon por la demora te pongo el ejemplo de como convertir la fecha a partir de un string:

    String desde=”01-12-2009″;
    String hasta=”31-12-2009″;
    SimpleDateFormat sdf= new SimpleDateFormat(“dd-MM-yyyy”);
    Date fechadesde=new Date();;
    try {
    fechadesde =(Date) sdf.parse(desde);
    } catch (ParseException ex) {
    Logger.getLogger(VentaImpresionAlquiler.class.getName()).log(Level.SEVERE, null, ex);
    }
    Date fechahasta=new Date();
    try {
    fechahasta = (Date)sdf.parse(hasta);
    } catch (ParseException ex) {
    Logger.getLogger(VentaImpresionAlquiler.class.getName()).log(Level.SEVERE, null, ex);
    }

    • Saludos cordiales, no se preocupe, la verdad a partir de mañana dios mediante es que me voy a dedicar a estudiar Java, y la informacion que me aport{o me es oportuna y de utilidad, espero poder contribuir en el futuro asi como uds lo hacen conmigo, muchisimas gracias.

  40. hola en primer agredecer por tu codgo, me corrio perfectamente, pero hay un detalle que no lo puedo solucioanar cuando creo mi .jar y y ejecuto el reporte me bota de la aplicacion. nose como solucionarlo

  41. Mr. Roboto si que es un buen tutorial y lo leei todo ademas de que si hice el codigo amano, por lo mismo me da mucho coraje que en el final ya no me salio, si puedes dime por que te adjunto la parte donde tengo problema

    Cargando desde: Reporte.jasperError cargando el reporte maestro:net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: Reporte.jasperMensaje de error: null

    • Creo q al igual a a muchos les pasa, estas colocando mal la ruta, t sugiero colocar una ruta relativa como por ejemplo “reportes\\reporte.jasper” donde reportes es una carpeta que se encuentra dentro de la carpeta del proyecto de netbeans, esta carpeta con el reporte debera estar colocada dentro del directorio raiz y no donde se ebcuentran los codigos

  42. Estimados tengo una consulta, los reportes por los cual e estado haciendo consulta me andan de maravilla, pero a la hora de correrlos en Red me andan lentos hasta a veces corto la ejecucion por lo que demoran.
    A ver si alguien me pude ayudar , yo hago la conexion mediante ODBC a tablas .dbf que estan en una undad de red compartida (en este caso compartida como E:\)
    La duda es que nunca programe para una red, y no se que se me puede aconejar … no se porque no anda.
    Desde ya muchas gracias

  43. Hola tengo una consulta cuando ejecuto mi reporte me encia un error el cual es el siguiente porfa ayudenme necesito urg. porfa porfa aqui va el error:
    Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
    at java.lang.Class.getConstructor0(Class.java:2699)
    at java.lang.Class.newInstance0(Class.java:326)
    at java.lang.Class.newInstance(Class.java:308)
    at net.sf.jasperreports.engine.design.JRDefaultCompiler.getCompiler(JRDefaultCompiler.java:201)
    at net.sf.jasperreports.engine.design.JRDefaultCompiler.loadEvaluator(JRDefaultCompiler.java:216)
    at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:410)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:384)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:77)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:59)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
    at IniciarReporte.ejecutarReporte(IniciarReporte.java:53)
    at Poliza.jBtnSalirActionPerformed(Poliza.java:411)
    at Poliza.access$1100(Poliza.java:6)
    at Poliza$14.actionPerformed(Poliza.java:238)
    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:6263)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6028)
    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:4574)
    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.codehaus.groovy.control.CompilationFailedException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

  44. Saludos cordiales para usted hermano Xavier, una vez me paso algo similar a lo que te esta ocurriendo ahorita y me fui a la carpeta library de mi aplicacion y le añadi el archivo .jar llamado groovy, trata a ver si de esa forma logra ejecutar el reporte, ignacio aular (Aprendiz). Mucha suerte.

  45. hola mi estimado sabes he seguido tus pasos y de paso valiendome de lo que se por experiencia estoy haciendo mis reportes con conexion sql ahora bien no me corre el reporte pues tengo el mismo error que muchos el bendito Java.Io.FileNotFoundException con mi archivo .jasper el cual lo hice con ireport 3.7.1 separado de netbeans. epuesto rutas relativas y todo pero naa de naa mira amigo
    //*********************************************************

    package Presentacion;

    import java.util.HashMap;
    import java.util.Map;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.engine.util.JRLoader;
    import net.sf.jasperreports.view.*;
    import java.sql.*;
    import Conexion.*;

    public class ReporteSalida {

    Connection con;

    public void ejecutarReporte(String Id){

    try{

    String archivo = System.getProperty(“user.dir”)+ “/Reportes/ReporteK.jasper”;

    con= ConexionSQL.getInstancia().getconexion();

    if(archivo == null)
    {
    System.out.println(“No se encuentra el archivo.”);
    System.exit(2);
    }

    JasperReport masterReport= null;

    try
    {
    masterReport= (JasperReport)JRLoader.loadObject(archivo);
    } catch (JRException e)
    {
    System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());
    System.exit(3);
    }

    Map parametro= new HashMap();
    parametro.put(“aID”,Id);

    JasperPrint jasperPrint= JasperFillManager.fillReport(masterReport,parametro,con);

    JasperViewer jviewer= new JasperViewer(jasperPrint,false);
    jviewer.setVisible(true);
    }

    catch (Exception j)
    {
    System.out.println(“Mensaje de Error:”+j.getMessage());
    }

    finally{
    try{
    con.close();
    }
    catch(SQLException exC){
    exC.printStackTrace();
    }
    }

    }
    }
    //*********************************************************
    Error cargando el reporte maestro: java.io.FileNotFoundException: C:\Documents and Settings\Jhonatan\Mis documentos\NetBeansProjects\Proyecto_IVI\Reportes\ReporteK.jasper
    //*********************************************************
    ahora cabe recalcar q mi conexion la tenga en otra carpeta y sola la instacion llamandola (uso el patron singleton), amigo porfavor ayudame esto es muy importante para mi

    • Hola, soy novato pero cambie esto:

      String archivo = System.getProperty(“user.dir”)+ “/Reportes/ReporteK.jasper”;

      Por esto:

      String archivo = System.getProperty(“user.dir”)+ “//Reportes//Reportes.jasper”;

      Fijese que Reportes termina con una k en el suyo y faltan barras inclinadas…

      Espero haberle ayudado.

    • Una cosa mas hermano, ojo con el tipo de comillas dobles:

      Pruebe este, porque el que le envie no me di cuenta de las comillas que tiene el user.dir

      String archivo = System.getProperty(“user.dir”)+ “//Reportes//ReporteK.jasper”;

      Ahora si tienen todas las comillas legales.

  46. Saludos cordiales hermano, soy novato, pero el mio usa doble barras y me ejecuta bien, trata modificando:

    Pruebelo asi a ver como le va:

    String archivo = System.getProperty(“user.dir”)+ “//Reportes//ReporteK.jasper”;

  47. hola amigo ignacio muchas gracias por el consejo pero ningun consejo me sirvio me sigue saliendo el mismo error de que el documento no fue encontrado la verdad q no se porq me sale esto :( ojala me puedan aconsejar mas cosas gracias de corazon hrmno y amigos mios

    • Hola,si tu proyecto esta siendo creado por netbeans deberas colocar el reporte directamente en la carpeta principal del proyecto, no lo coloques en la carpeta de los codigos, por ejemplo si el reporte se llama reporte.jasper en la ruta definelo solo con el nombre y la jerarquia de directorios deberia quedarte de la siguiente manera:

      +dist
      +src
      +reporte,jasper

      • Gracias por el dato amigo Geniz ahora bien lo detecto a mi archivo .jasper (Reporte.jasper) bien ahora el problema es que cuando lo ejecuto me resulta el “Mensaje de Error:null”, en la siguiente parte del codigo y la verdad no se porque ocurre esto ojala me des un consijo amigo de antemano estoy muy agradecido por todo el apoyo.
        //********************************************************
        try
        {
        masterReport= (JasperReport)JRLoader.loadObject(archivo);
        } catch (JRException e)
        {
        System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());
        System.exit(3);
        }

        //este es el parámetro, se pueden agregar más parámetros
        //basta con poner mas parametro.put

        Map parametro= new HashMap();
        parametro.put(“aId”,Id_per);
        //Reporte diseñado y compilado con iReport

        JasperPrint jasperPrint= JasperFillManager.fillReport(masterReport,parametro,con);
        //Se lanza el Viewerde Jasper, no termina aplicación al salir

        JasperViewer jviewer= new JasperViewer(jasperPrint,false);
        jviewer.setVisible(true);
        }

        catch (Exception j)
        {
        System.out.println(“Mensaje de Error:”+j.getMessage());
        }
        //******************************************************

  48. Saludos, me lleve su codigo para probarlo en casa con windows y mysql.

    • no hay problema amigo ignacio estamos para compartir informacion suerte y salu2

      • oye fernando, yo tambien tube el mismo problema al momento de localizar el archivo y la verdad me e torturado tratando de saber porque no funciona. Estoy usando ubuntu linux. con mySQL en Netbeans. segui el manual paso a paso aunque abian pedasos que no mostraba la misma informacion y pos al momento de querer cargar el documento me sale mensaje de error null que es el mismo que te talio en esa parte del codigo y pos si encontraste la solucion podrias pasarla porfavor. muchas grax de antemano Men Saludos

      • Si estas en Linux y utilizas alguna ruta relativa como String archivo=”Reporte.jasper”, a diferencia de windows donde este archivo debe de estar en la carpeta principal del proyecto, en entornos linux debera estar en tu Home.
        /Home/Usuario/Reporte.jasper

  49. tengo instalado ireport 3.7.1
    netbeans 6.7.1
    mysql

    el codigo es el siguiente:
    package ejemplo_reportes;

    import ejemplo_reportes.ReporteAgenda;

    public class Reporte extends javax.swing.JFrame
    {
    private String id;
    private ReporteAgenda jasper;
    /** Creates new form Reporte */
    public Reporte()
    {
    initComponents();
    jasper = new ReporteAgenda();
    }

    // //GEN-BEGIN:initComponents
    private void initComponents() {

    cmdStart = new javax.swing.JButton();
    txtID = new javax.swing.JTextField();
    jLabel1 = new javax.swing.JLabel();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    cmdStart.setText(“Reporte”);
    cmdStart.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    cmdStartActionPerformed(evt);
    }
    });

    jLabel1.setText(“ID:”);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(8, 8, 8)
    .addComponent(jLabel1)
    .addGap(18, 18, 18)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
    .addComponent(txtID, javax.swing.GroupLayout.Alignment.LEADING)
    .addComponent(cmdStart, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    .addContainerGap(204, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addContainerGap(68, Short.MAX_VALUE)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(txtID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(jLabel1))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(cmdStart)
    .addContainerGap())
    );

    java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    setBounds((screenSize.width-324)/2, (screenSize.height-162)/2, 324, 162);
    }// //GEN-END:initComponents

    private void cmdStartActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_cmdStartActionPerformed
    {//GEN-HEADEREND:event_cmdStartActionPerformed
    id = txtID.getText();
    //ReporteAgenda jasper = new ReporteAgenda(id);
    jasper.runReporte(id);
    }//GEN-LAST:event_cmdStartActionPerformed

    public static void main(String args[])
    {
    java.awt.EventQueue.invokeLater(new Runnable()
    {
    public void run()
    {
    new Reporte().setVisible(true);
    }
    });
    }

    // Variables declaration – do not modify//GEN-BEGIN:variables
    private javax.swing.JButton cmdStart;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JTextField txtID;
    // End of variables declaration//GEN-END:variables

    }
    ///////////////////////////////////////////////////////////

    package ejemplo_reportes;

    import java.net.URL;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    import java.util.HashMap;
    import java.util.Map;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.engine.util.JRLoader;
    import net.sf.jasperreports.view.*;

    public class ReporteAgenda
    {
    private Connection conn;
    static String bd = “hotel”;
    private final String login = “root”; //usuario de acceso a MySQL
    private final String password = “12345″; //contraseña de usuario
    private String url = “jdbc:mysql://localhost/”+ bd;
    private String id_contact;
    public ReporteAgenda()
    {
    try
    {
    Class.forName(“com.mysql.jdbc.Driver”); //se carga el driver
    conn = DriverManager.getConnection(url,login,password);
    }
    catch (ClassNotFoundException ex)
    {
    ex.printStackTrace();
    }
    catch (SQLException ex)
    {
    ex.printStackTrace();
    }

    }

    public void runReporte(String id_contact)
    {
    // this.id_contact=”";
    // this.id_contact = id;
    //
    try
    {
    String master = System.getProperty(“user.dir”) +
    “/reportes/contactos.jasper”;

    System.out.println(“master xxx” + master);

    if (master == null)
    {
    System.out.println(“No encuentro el archivo del reporte maestro.”);
    System.exit(2);
    }

    JasperReport masterReport = null;
    try
    {
    masterReport = (JasperReport) JRLoader.loadObject(master);
    }
    catch (JRException e)
    {
    System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());
    System.exit(3);
    }

    //este es el parámetro, se pueden agregar más parámetros
    //basta con poner mas parametro.put
    Map parametro = new HashMap();
    parametro.put(“id”,id_contact);

    //Reporte diseñado y compilado con iReport
    JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,parametro,conn);

    //Se lanza el Viewer de Jasper, no termina aplicación al salir
    JasperViewer jviewer = new JasperViewer(jasperPrint,true);
    jviewer.setTitle(“MUNDO BYTE”);
    jviewer.setVisible(true);
    }

    catch (Exception j)
    {
    System.out.println(“Mensaje de Error:”+j.getMessage());
    }

    }

    public void cerrar()
    {
    try
    {
    conn.close();
    }
    catch (SQLException ex)
    {
    ex.printStackTrace();
    }
    }
    }
    mi error es el siguiente:Error cargando el reporte maestro: // aki ba la ruta donde tengo generado el proyecto pero dice que no encuentra este archivo maestro contactos.jasper me puedes decir por que? o mandame un ejemplo sencillo soy nuevo en estas cosas me puedes ayudar mi correo: shester_black@hotmail.com

    • Hola amigo tuve un error similar al tuya, y bueno mi solución fue poner en en vez de
      /*************************************************
      String master = System.getProperty(“user.dir”) +
      “/reportes/contactos.jasper”;”
      /*************************************************
      Tan solo poner String master = “contactos.jasper”; eso si el archivo “contactos.jasper ” debes colocarlo fuera, es decir en ninguna carpeta , pero si dentro de la carpeta del proyecto, espero te ayude amigo.

      • oie sera posible que me puedes compartir un ejemplo fijate que no puedo con un reporte ayudame porfavor o alguien que pueda ayudarme o mandarme algun ejemplo por favor les estare agradecido….. mi correo: shester_black@hotmail.com

  50. hola, saludos a todos, vi el tutorial de como crear reportes y todo estaba bien hasta correr el proyecto y me salio el siguiente error, que la verdad no se a que se refiere o que puedo hacer para corrergirlo.

    argando desde: reporte_prueba.jasper
    Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
    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:161)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:119)
    at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:57)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:202)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:179)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:139)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:125)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:102)
    at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:80)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:177)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:78)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:60)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:421)
    at reporte.prueba_reporte.ejecutarReporte(prueba_reporte.java:64)

    la linea donde marca el error es esta:

    JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,parametro,conn);

    ya revise todo y no se que no este tomando para que me mande ese error, espero me puedan ayudar con este y de antemano gracias.

  51. Hola Adolfo mira a mi me pasaba lo mismo, lo que tienes que hacer es agregar las librerias que se llaman springframework o algo así(es algo de framework no me acuerdo bien), estas las encuentras en la parte de librerías donde estan todas, nada mas las agregas y debería de correr a menos que tengas mas errores por ahí.
    Saludos!!

    • Muchas gracias Alberto agrege las librerias y ya me funciono

  52. Buenos Dias o tardes jeje… Muchisimas gracias por el PDF, me ayudo muchisimo en cuanto a la creacion del reporte y todo… aunque tengo un problema con la ultima parte al momento de generar el reporte. Segui al pie de la letra el codigo que esta proporcionado en el archivo pero cuando le introduzco la matricula y le doy al boton generar no pasa nada, ni siquiera me marca error. No se que podria ser.

  53. Hola:

    Tengo un problema con la aplicación en el cual declaro el nombre del achivo de la siguiente manera:

    file = “Reports\\BizPartner.jasper”;

    donde Reports es una carpeta que se encuentra en la carpeta raiz de mi proyecto. Al tratar de leer el archivo con la siguiente linea de código:

    masterReport = (JasperReport) JRLoader.loadObject(file);

    marca el siguiente error:

    Mensaje de error null

    El problema es que al parecer no puede leer el archivo .jasper que se genera con al crear el Preview de mi reporte.

    El archivo .jasper lo he tomado de la carpeta build de mi proyecto junto con el archivo .jrxml.

    Podrias ayudarme a saber cual es el problema. De antemano gracias.

    • Si el reporte esta dentro de la carpeta raiz de tu proyrcto, no hace falta que en la ruta le indiques el nombre de la carpeta del proyecto, sino que solo escribele el nombre de archivo:
      en tu caso solo escribe
      file = “BizPartner.jasper”;
      pero si estas trabajando sobre Linux, entoncesd el reporte debe estar en tu home para indicarlo de la manera anteriormente explicada.

  54. Hola Amigos, tengo un pequeño gran problema.

    Estoy haciendo mi proyecto para una Biblioteca, la cuestion es que cuando compilo y ejecuto el proyecto dentro de NetBeans me funciona de Maravilla los REPORTES, pero cuando ejecuto el archivo .jar de la aplicacion no me muestra los REPORTES, ademas cuando compilo y ejecuto el proyecto en NetBeans me sale estas advertencias:

    log4j:WARN No appenders could be found for logger
    log4j:WARN Please initialize the log4j system properly

    Necesito ayuda urgente.

    mail: wramirez-088308@estudiantes.umg.edu.gt

  55. oie ya me salio el reporte ahora quiero saber como podre cerrar el reporte sin cerrar el formulario de donde genero el reporte.

    cerrar el proyecto hasta cerrar el ultimo formulario al generar un reporte en netbeans

    ayudame porfavor…..

    • Suponiendo que tienes esta lienea:

      JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,parametro,conn);

      Añade esta linea de codigo, donde false indica que no debe cerrar al formulario que lanzo el viewer:

      JasperViewer jviewer = new JasperViewer(jasperPrint,false);

      • muchas gracias geniz ya logre generar mi reporte sin errores ahora quiero saber como poder generar un reporte pero; como con una grafica ejemplo:

        Reporte : grafica de produccion por departamento

        como se llama el tipo de archivo que sirve para generar graficas dame pista yo me pongo a investigar o dime un ejempo sencillo donde pueda visualizar con imagen o grafica…
        ej:
        .jasper, .jrprint, .jxml, ?¡? dime sabes como?

  56. A que se debe este error, a la hora de ejecutar la amplicacion, gracias de antemano
    Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
    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:161)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:119)
    at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:57)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:202)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:179)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:139)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:125)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:102)
    at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:80)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:177)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:78)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:60)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:421)
    at desktopapplication2.Reporte.ejecutarReporte(Reporte.java:61)
    at desktopapplication2.Generar.jButton1ActionPerformed(Generar.java:92)
    at desktopapplication2.Generar.access$000(Generar.java:21)
    at desktopapplication2.Generar$1.actionPerformed(Generar.java:54)
    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:6263)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
    at java.awt.Component.processEvent(Component.java:6028)
    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:4574)
    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:2475)
    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.springframework.core.io.Resource
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
    … 46 more

  57. jona debes de agregar las librerias de spring framework solo buscalas en las librerias y las agregas y deberia de correr bien

  58. Hola geniz, ¿pudieras colgar en megaupload o rapidshare tu proyecto de netbeans? Creo que asi muchos saldriamos de dudas y ahorrariamos muchas preguntas, saludos.

  59. Hola, mira me baje este ejemplo de internet: http://www.mediafire.com/?dz9cxgtigzt. El codigo que tiene ese ejemplo es igual al tuyo. Total, con el ejemplo que me baje de mediafire me genera el reporte, pero ese mismo ejemplo, cuando abro el archivo jrxml, luego le doy preview y luego le doy el run al proyecto ya no genera el reporte.

    El mensaje que me sale es:

    Mensaje de error: null.

    Por fas, alguien que ya le haya salido el proyecto y que lo cuelgue en internet. Saludos.

  60. Alfonso, ese mismo problema es el que tengo yo. ¿Ya lo solucionaste? Si es asi, te agradeceria tu ayuda. Saludos.

  61. Que tal, yo tengo un problema igual al de Alfonso y linux, a la hora de ejecutar el proyecto me aparece:

    run:
    mastercontactos.jasper
    Mensaje de Error:null

    he probado con todas las posibles soluciones que han dado en esta pagina pero nada, por cierto lo estoy corriendo en Mac, nose si se deban cambiar algunas cosas…
    De antemano gracias

  62. Hola amigo soy algo nuevo con java y netbeans y necesito crear unos reporte para mi proyecto estaria agradecido si me presta tu ayuda agrega mi correo al msn porfa gracias…

    muy buen tutorial eres un maestro.

  63. Hola amigo soy nueva en netbeans trabajando con reportes, oie muy bueno tu manual, segui los pasos para la creacion de este reporte y corre en el XML
    pero al momento de hacerlo desde el formulario me da un error porfa te agradeceria
    que me ayudes si gracias…………..
    Cargando desde: Reporte.jasper
    Error cargando el reporte maestro: java.io.FileNotFoundException: Reporte.jasper
    Java Result: 3

  64. Hola compañeros, alguien que pueda dar solución al problema que muchos tenemos.
    al momento de mandar a llamar al ARCHIVO.jasper; Tenemos el siguiente error:
    Cargando desde: report.jasper
    Mensaje de Error:null

    alguien que nos pueda ayudar se lo agradeceria un monton……..gracias.

  65. [...] Reportes Netbeans [...]

  66. en donde pongo la ruta
    en que parte del codigo
    me sigue saliendo el error
    error cargando el reporte maestro Error loading object from file : C:\Reporte.jrxml

  67. tengo una duda. el codigo me tira el siguiente error

    Cargando desde: E:\programar\java\NotariaLoyola\src\notarialoyola\newReport.jasper
    Mensaje de Error:Unknown hyperlink target 0

    mi codigo es este:
    /**
    *
    * @author pab
    */
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import javax.swing.*;
    import java.util.HashMap;
    import java.util.Map;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.engine.util.JRLoader;
    import net.sf.jasperreports.view.*;
    import net.sf.jasperreports.view.save.JRPdfSaveContributor.*;
    import net.sf.jasperreports.view.JRViewer.*;
    import net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor.*;

    public class IniciarReporte
    {
    Connection conn=null;
    public IniciarReporte()
    {
    try
    {
    Class.forName(“com.mysql.jdbc.Driver”); //se carga el driver
    conn= DriverManager.getConnection(“jdbc:mysql://localhost:3306/repertorio”,”root”,”");
    JOptionPane.showMessageDialog(null,”Conexiónestablecida”);
    }
    catch (Exception ex)
    {
    ex.printStackTrace();
    }
    }

    public void ejecutarReporte(String rep1,String rep2)
    { try
    {
    String archivo = “E:\\programar\\java\\NotariaLoyola\\src\\notarialoyola\\newReport.jasper”;
    System.out.println(“Cargando desde: ” + archivo);
    if(archivo == null)
    { System.out.println(“No se encuentra el archivo.”);
    System.exit(2);}
    JasperReport masterReport= null;
    try {
    masterReport=(JasperReport)JRLoader.loadObject(archivo);
    } catch (JRException e) {System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());
    System.exit(3);
    }

    //este es el parámetro, se pueden agregar más parámetros
    //basta con poner mas parametro.put
    Map parametro= new HashMap();

    parametro.put(“rep1″,rep1);

    parametro.put(“rep2″,rep2);

    //Reporte diseñado y compilado con iReport
    JasperPrint jasperPrint= JasperFillManager.fillReport(masterReport,parametro,conn);

    //Se lanza el Viewerde Jasper, no termina aplicación al salir
    JasperViewer jviewer= new JasperViewer(jasperPrint,false);
    jviewer.setTitle(“Notaria Loyola -Reporte”);
    jviewer.setVisible(true);
    }catch (Exception j)
    {System.out.println(“Mensaje de Error:”+j.getMessage());
    }
    }

    public void cerrar(){
    try {
    conn.close();
    } catch (SQLException ex) {
    ex.printStackTrace();}
    }}

    quisas me lié al pasar 2 parametros. como puedo lograrlo?

  68. hola soy nueva en java, tengo un tarea de generar reportes eh analizado el codigo y lo eh puesto en prueba al ejecutar mi proyecto me aparece el siguiente error:
    masterC:\Users\SERPUBL\Documentos\NetBeansPraame\Reportes/src/reportecomunidad/comunidad.jasper
    Mensaje de Error:null
    estuve analizando algunas de las respuestas que han dado y no me funciona me sigue apareciendo el mismo error, anexo mi cdigo y si alguien me puede ayudar se lo agradeceria mucho.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    import java.util.HashMap;
    import java.util.Map;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.engine.util.JRLoader;
    import net.sf.jasperreports.view.*;

    /**
    *
    * @author WinDoctor
    */
    public class ReporteComunidad {

    private Connection conn;
    private final String login = “root”; //usuario de acceso a MySQL
    private final String password = “triadpass”; //contraseña de usuario
    private String url = “jdbc:mysql://localhost/praame2″;
    private String id_comun;
    public ReporteComunidad()
    {
    try
    {
    Class.forName(“com.mysql.jdbc.Driver”); //se carga el driver
    conn = DriverManager.getConnection(url,login,password);
    }
    catch (ClassNotFoundException ex)
    {
    ex.printStackTrace();
    }
    catch (SQLException ex)
    {
    ex.printStackTrace();
    }

    }

    public void runReporte(String id_comun)
    {
    //this.id_contact=”";
    //this.id_contact = id;

    try
    {
    String master = System.getProperty(“user.dir”) +
    “/src/reportecomunidad/comunidad.jasper”;

    System.out.println(“master” + master);
    if (master == null)
    {
    System.out.println(“No encuentro el archivo del reporte maestro.”);
    System.exit(2);
    }

    JasperReport masterReport = null;
    try
    {
    masterReport = (JasperReport) JRLoader.loadObject(master);
    }
    catch (JRException e)
    {
    System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());
    System.exit(3);
    }

    //este es el parámetro, se pueden agregar más parámetros
    //basta con poner mas parametro.put
    Map parametro = new HashMap();
    parametro.put(“id”,id_comun);

    //Reporte diseñado y compilado con iReport
    JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,parametro,conn);

    //Se lanza el Viewer de Jasper, no termina aplicación al salir
    JasperViewer jviewer = new JasperViewer(jasperPrint,false);
    jviewer.setTitle(“Desayunos DIF”);
    jviewer.setVisible(true);
    }

    catch (Exception j) {
    System.out.println(“Mensaje de Error:”+j.getMessage());
    }

    }

    public void cerrar()
    {
    try
    {
    conn.close();
    }
    catch (SQLException ex)
    {
    ex.printStackTrace();
    }
    }
    }

    import reportes.ReporteComunidad;

    public class Reportes extends javax.swing.JFrame
    {
    private String IdComun;
    private ReporteComunidad jasper;
    /** Creates new form Reportes */
    public Reportes() {
    initComponents();
    jasper = new ReporteComunidad();
    }

    @SuppressWarnings(“unchecked”)
    //
    private void initComponents() {

    jLabel1 = new javax.swing.JLabel();
    id_comun = new javax.swing.JTextField();
    cmdStart = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

    jLabel1.setText(“Id”);
    getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, 30, 20));
    getContentPane().add(id_comun, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 40, 60, 20));

    cmdStart.setText(“Reporte”);
    cmdStart.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    cmdStartActionPerformed(evt);
    }
    });
    getContentPane().add(cmdStart, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 90, -1, -1));

    pack();
    }//

    private void cmdStartActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    IdComun = id_comun.getText();
    //ReporteAgenda jasper = new ReporteAgenda(id);
    jasper.runReporte(IdComun);
    }

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new Reportes().setVisible(true);
    }
    });
    }

    // Variables declaration – do not modify
    private javax.swing.JButton cmdStart;
    private javax.swing.JTextField id_comun;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration

    }

    si alguien me puede decir cual es mi problema se lo agradeceria muchisimo

    • hola soy nueva en java, tengo un tarea de generar reportes eh analizado el codigo y lo eh puesto en prueba al ejecutar mi proyecto me aparece el siguiente error:
      masterC:\Users\SERPUBL\Documentos\NetBeansPraame\Reportes/src/reportecomunidad/comunidad.jasper
      Mensaje de Error:null
      estuve analizando algunas de las respuestas que han dado y no me funciona me sigue apareciendo el mismo error, anexo mi cdigo y si alguien me puede ayudar se lo agradeceria mucho.

      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.SQLException;

      import java.util.HashMap;
      import java.util.Map;
      import net.sf.jasperreports.engine.*;
      import net.sf.jasperreports.engine.util.JRLoader;
      import net.sf.jasperreports.view.*;

      /**
      *
      * @author WinDoctor
      */
      public class ReporteComunidad {

      private Connection conn;
      private final String login = “root”; //usuario de acceso a MySQL
      private final String password = “triadpass”; //contraseña de usuario
      private String url = “jdbc:mysql://localhost/praame2″;
      private String id_comun;
      public ReporteComunidad()
      {
      try
      {
      Class.forName(“com.mysql.jdbc.Driver”); //se carga el driver
      conn = DriverManager.getConnection(url,login,password);
      }
      catch (ClassNotFoundException ex)
      {
      ex.printStackTrace();
      }
      catch (SQLException ex)
      {
      ex.printStackTrace();
      }

      }

      public void runReporte(String id_comun)
      {
      //this.id_contact=””;
      //this.id_contact = id;

      try
      {
      String master = System.getProperty(“user.dir”) +
      “/src/reportecomunidad/comunidad.jasper”;

      System.out.println(“master” + master);
      if (master == null)
      {
      System.out.println(“No encuentro el archivo del reporte maestro.”);
      System.exit(2);
      }

      JasperReport masterReport = null;
      try
      {
      masterReport = (JasperReport) JRLoader.loadObject(master);
      }
      catch (JRException e)
      {
      System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());
      System.exit(3);
      }

      //este es el parámetro, se pueden agregar más parámetros
      //basta con poner mas parametro.put
      Map parametro = new HashMap();
      parametro.put(“id”,id_comun);

      //Reporte diseñado y compilado con iReport
      JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,parametro,conn);

      //Se lanza el Viewer de Jasper, no termina aplicación al salir
      JasperViewer jviewer = new JasperViewer(jasperPrint,false);
      jviewer.setTitle(“Desayunos DIF”);
      jviewer.setVisible(true);
      }

      catch (Exception j) {
      System.out.println(“Mensaje de Error:”+j.getMessage());
      }

      }

      public void cerrar()
      {
      try
      {
      conn.close();
      }
      catch (SQLException ex)
      {
      ex.printStackTrace();
      }
      }
      }

      import reportes.ReporteComunidad;

      public class Reportes extends javax.swing.JFrame
      {
      private String IdComun;
      private ReporteComunidad jasper;
      /** Creates new form Reportes */
      public Reportes() {
      initComponents();
      jasper = new ReporteComunidad();
      }

      @SuppressWarnings(“unchecked”)
      //
      private void initComponents() {

      jLabel1 = new javax.swing.JLabel();
      id_comun = new javax.swing.JTextField();
      cmdStart = new javax.swing.JButton();

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

      jLabel1.setText(“Id”);
      getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, 30, 20));
      getContentPane().add(id_comun, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 40, 60, 20));

      cmdStart.setText(“Reporte”);
      cmdStart.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      cmdStartActionPerformed(evt);
      }
      });
      getContentPane().add(cmdStart, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 90, -1, -1));

      pack();
      }//

      private void cmdStartActionPerformed(java.awt.event.ActionEvent evt) {
      // TODO add your handling code here:
      IdComun = id_comun.getText();
      //ReporteAgenda jasper = new ReporteAgenda(id);
      jasper.runReporte(IdComun);
      }

      /**
      * @param args the command line arguments
      */
      public static void main(String args[]) {
      java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
      new Reportes().setVisible(true);
      }
      });
      }

      // Variables declaration – do not modify
      private javax.swing.JButton cmdStart;
      private javax.swing.JTextField id_comun;
      private javax.swing.JLabel jLabel1;
      // End of variables declaration

      }

      si alguien me puede decir cual es mi problema se lo agradeceria muchisimo

      tambien anexo el codigo de mi reporte ´para saber si tengo error en el reporte y por ello no me ejecute

  69. Disculpe sabria decirme porque se me genera este error, ya he cargado todo y sus librerias

    java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getConnection(DriverManager.java:545)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at IniciarReporte.(IniciarReporte.java:34)
    at REPORTE1.(REPORTE1.java:22)
    at Principal.(Principal.java:14)

    • Es un error causado porque no encuentra la clase en el driver de la base de datos que estas utilizando (o esta mal escrita)

  70. gracias por el tuto, señor Geniz , hice paso a paso lo que explica en su tuto, pero resulta q me sale el siguiente error:
    Mensaje de Error: al generar el archivo …java.io.FileNotFoundException: reporte.jasper

    no se aque se deve. pofavor me podria decir q podria ser

  71. Como LE HAgo con este Error en netbeans 6.8 y ireport ???????????? he instaldo hasta versiones antiguas y no puedo generar el reporte para luego imprimirlo????????????????????????????????

    Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.

    • esa exception es sin duda de una libreria de apache, que librerias de apache estas utilizando???

      • Hola Geniz, por favor me podrias ayudar con este error de verdad me trae de mal en peor:
        Error maestro: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence

        Estoy trabajando con ireport 4.5.0 – Netbeans 6.5.1

        Agradecere infinitamente tu respuesta.
        email: veronicagraciela1910@hotmail.com

  72. Hola Geniz Veo que siempre despues de un largo tiempo aun sigues estando al dia con las personas que aca escriben, Gracies por eso, una preguntica, tengo un pequeño problema con fechas. la vaina es que estoy usando una base de datos mysql con un campo simple de tipo date. al momento de mostrarlo con ireport no me deja me sale el siguiente error

    Error filling print… Unable to get value for field ’vigencia’ of class ’java.sql.Date’ …..

    vigencia es el campo que te comente q es de tipo date. No entiendo que es lo que pasa.

    • Ya verificaste que el campo que tiene iReport relacionado con el de tu base de datos tambien sea tipo date??

  73. WOW ME DEJAS LOCO! tan rapido respondiste…. Uff, pues al grano. bueno si lo tenia en tipo java.lang.string pero igual lo cambie a java.util.date y me sigue tirando el error :( no tienes otra idea? es como que no esta la clase esa java.sql.date o no se que es lo que este pasando

  74. Bueno pilla estas pantallas a ver si ves algo raro

    http://img834.imageshack.us/f/screnn1.jpg/

    aca me tira el error
    http://img801.imageshack.us/f/screen2vc.jpg/

    y esta es la tabla para q veas su estructura

    http://yfrog.com/g0screen3lqj

    • Oye nose si yo no veo bien o no, pero ya verificaste que los nombres de los campos de tu base de datos coincidan con los del reporte, porq segun veo en tu reporte dice vigencia y en la base dice algo asi como fech_vigencia

  75. Tu me podrias dar tu msn? para no llenar esto por favor… y eso que mencionas de vigencia es un alias… el problema es con las fechas sin duda hice una consulta simple para que solo me diera una fecha y me la da mal observa

    SELECT
    procedimiento.`fech_vigencia` AS procedimiento_fech_vigencia
    FROM
    `procedimiento` procedimiento

    con esa simple consulta ya el query sale malo no me muestra nada… porfa lo del email consideralo por fa!:. el mio es osamax@live.com

  76. Bueno para el que le pueda servir, el problema que tenia se debia a que habian campos date que estaban en blanco 0000-00-00 cosa que esta mal!.. deben estar en null para q puedan ser reconocidos!…

    Ahora me surge una incognita: es posible pasarle parametros al reporte para que en vez de escoger una tabla PERSONAS por ejemplo escoja la tabla ANIMALES????

  77. que pena molestar he seguido de mu ycerca tu ejemplo de ireport con netbeans y mysql, lo he utilizado para llevar acabo un proyecto que utiliza sqlserver2005 netbeans 6.8 y IReport 3.7.3,
    intento ir d elamano de tu ejemplo pero me genra varios errores
    lo que pasa es q el proyecto maneja la parte aplicativa y servidor deividas conectandolas por medio de u nservlet seria posible una ayuda?? el codigo es el siguiente

    package Reportes;

    import Entities.Ent_BusPV;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.Map;
    import net.sf.jasperreports.engine.JRException;
    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;

    /**
    *
    * @author OSCAR
    */
    public class IniciarReporte {
    Connection conn= null;
    public IniciarReporte(){
    try{
    Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
    conn= DriverManager.getConnection(“jdbc:jtds:sqlserver://localhost:1433;databaseName=iTDC_PRO_II_ACS;user=sa;password=adminadmin;”);
    System.out.println(“Conexion establecida”);
    }
    catch(Exception ex){
    ex.printStackTrace();
    }
    }
    public void ejecutarREporte(Ent_BusPV busPV,String NameReport,String NameArchive){
    try{
    String archivo= NameReport+”.jasper”;
    System.out.println(“CArgando desde “+archivo);
    if(archivo == null){
    System.out.println(“No se encuentra el archivo “+archivo);
    System.exit(2);
    }
    JasperReport masterReport=null;
    try{
    masterReport=(JasperReport)JRLoader.loadObject(archivo);
    }
    catch(JRException e){
    System.out.println(“Error Cargando el Archivo maestro “+e.getMessage());
    System.exit(3);
    }
    //Pasamos parametros al reporte Jasper.
    Map parameters = new HashMap();
    parameters.put(“Nombre”, busPV.getName() );
    parameters.put(“Cedula”,busPV.getPersonID());
    parameters.put(“Compania”,busPV.getCompany());
    parameters.put(“fecha inicio”,busPV.getFechainicio());
    parameters.put(“fecha final”, busPV.getFechaFinal());

    JasperPrint jasperPrint= JasperFillManager.fillReport(masterReport, parameters,conn);

    JasperViewer jviewer=new JasperViewer(jasperPrint,false);
    jviewer.setTitle(“WTC”);
    jviewer.setVisible(true);
    }
    catch (Exception j){
    System.out.println(“Mensaje de error”+j.getMessage());
    }
    }

    public void cerrar(){
    try{
    conn.close();
    }
    catch(SQLException ex){
    ex.printStackTrace();
    }
    }
    }
    //////////////////////////////////////////////

    package GUI;

    import AppletCOM.AppletCOM;
    import AppletCOM.ListeningThread;
    import Entities.Ent_AlarmEvent;
    import Entities.Ent_BusP;
    import Entities.Ent_BusPV;
    import Entities.Ent_Event;
    import Entities.Ent_ReportP_V;
    import Reportes.IniciarReporte;
    import java.applet.Applet;
    import java.awt.Color;
    import java.io.File;
    import java.net.InetAddress;
    import java.util.Calendar;
    import java.util.Enumeration;
    import java.util.Hashtable;
    import java.util.Vector;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JOptionPane;
    import javax.swing.event.InternalFrameEvent;
    import javax.swing.event.InternalFrameListener;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableModel;
    import mainApplet.IDTECK;

    /**
    *
    * @author OSCAR
    */
    public class ReportVisitantes extends javax.swing.JInternalFrame {
    private static Applet parentApp;
    private static ListeningThread hiloEscuchar;
    private static ReportEvent eventReport=new ReportEvent();
    private IniciarReporte jasper;

    public ReportVisitantes() {
    jasper=new IniciarReporte();
    }
    private void ImprimirActionPerformed(java.awt.event.ActionEvent evt) {
    Ent_BusPV busPV = new Ent_BusPV();
    busPV.setFechaFinal(formatSelectedDate2(this.fechaFinalizacion.getSelectedDate()));
    busPV.setFechainicio(formatSelectedDate2(this.fechaInicio.getSelectedDate()));
    busPV.setPersonID(Cedula.getText());
    busPV.setName(Nombre.getText());
    busPV.setCompany(Companias.getSelectedItem().toString());
    String NameReport = “ReporteVisitante”;
    String NameArchive = “Reporte”;
    if (busPV.getPersonID() != null && (busPV.getName() == null)) {
    NameArchive = NameArchive + busPV.getPersonID();
    }
    if (busPV.getName() != null && (busPV.getPersonID() == null)) {
    NameArchive = NameArchive + busPV.getName();
    }
    if (busPV.getName() == null && (busPV.getPersonID() == null)) {
    NameArchive = NameArchive + busPV.getFechaFinal();
    }
    jasper.ejecutarREporte(busPV,NameReport,NameArchive);

  78. Hola Geniz mi problema es el siguiente, he agregado todas las librerias, pero al poner import net.sf.(aqui no me encuentra el jasperreport) y creo que por eso me da un error que no me reconoce la clase JasperPrint, utilizo netbeans 6.8 y el plugin de netbeans jasperreport 3.7.3
    Espero alguna respuesta por favor

    • QUe pasos seguiste o como agregaste esas librerias??

  79. hola, tendras algo que me ayude a realizar un punto de venta con mysql netbeans.

    • podrias utilizar openbravo ya esta hecho y es software libre, creado por suspuesto con java

  80. man necesito ayuda con urgencia. es de vida o muerte. me sale:

    Cargando desde “ruta de mi archivo”
    Mensaje de Error null

    • obviamente t sale eso porq no encuentra el archivo, serciorate de q la ruta sea la correcta, utiliza preferentemente rutas relativas o si vas a utilizar absolutas utiliza el System.getProperty(“user.dir”); para obtener la correcta

  81. Hola Geniz.
    me manda mensaje :
    Mensaje de Error:null
    dime como puedo resolver este problema.
    espero tu respuesta.

    • Hola podrias decirme como resolviste pq me pasa igual Mensaje de Error:null el reporte se ve en preview pero no al ejecutar la app.

  82. Hola.
    Disculpa la molestia.
    Tengo reportes regados por todas las computadoras de mi trabajo. Ahora he desarrollado una clase para centralizar todos los reportes en una sola máquina Open Suse Linux. En mi red hay clientes Windows y Linux. Cuando llamo a los reportes desde una máquina Windows mis reportes funcionan perfectamente. Pero cuando los llamo desde una máquina Linux me sale la excepción de que no encuentra el reporte.
    net.sf.jasperreports.engine.JRException:
    java.io.FileNotFoundException:
    //192.18.1.2/MiSistema/Reportes/Rpt01.jasper
    Mi aplicación está hecha con swing y utiliza JasperReports3.7.5
    A qué se debe?
    Qué puedo hacer?

    • Jed tienes que revisar la ruta de los reportes asi como tambien los permisos que tiene esa carpeta, ahi dice claramente que el archivo no ha sido encontrado

  83. Gracias Geniz por tu aporte tengo un pequeño problema
    me sale lo siguinte
    Cargando desde: Reporte.jasper
    Mensaje de Error:null
    es obio que si encuentra en la ruta al Reporte,jasper pero no entiendo por que me devuelve null ya que en el previsualizador me devuelve el registro que quiero, es el mismo problem de oscar y analizando el codigo supongo que puede ser en las linea finales del try cath

    //este es el parámetro, se pueden agregar más parámetros
    //basta con poner mas parametro.put
    Map parametro = new HashMap();
    parametro.put(“Matricula”,matricula);
    //Reporte diseñado y compilado con iReport
    JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,parametro,conn);
    //Se lanza el Viewer de Jasper, no termina aplicación al salir
    JasperViewer jviewer = new JasperViewer(jasperPrint,false);
    jviewer.setTitle(“Geniz – Reporte”);
    jviewer.setVisible(true);
    }
    catch (Exception j)
    {
    System.out.println(“Mensaje de Error:”+j.getMessage());
    }
    }

    POST.- mi Reporte.jasper esta en en la raiz osea junto al build test, src , al principio no lograba cargarlo pero luego de hacer la previsualizacion aparecio y dejo de poner “no se encuentra el archivo”.de antemano gracias por tu ayuda.

  84. hola amigo e resolvido todo mi montonal de problemas con el ireport y netbeans

    pero tengo una duda como aser para ke se ejecute el reporte pero con extension xls
    excel

    lo uniko ke se es generarlo que seria algo +- asi

    JRExporter exporter = new JRXlsExporter();
    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    exporter.setParameter(JRExporterParameter.OUTPUT_FILE, new java.io.File(“reporte.xls”))
    exporter.exportReport();
    pero nose como aser ke se ejecute dentro de un btn ke lo muestre???

    me podrias explicar porfavor

  85. bueno queria responder a mi propia pregunta y ala de el pata de arriba la version del ireport es la que devulve un jasper null, la verdad no es null sino que ha cambiado la configuracion y por eso no puede leerlo

    • Hola amigo dimitruss eh seguido el tutorial al pie de la letra eh leido cada uno de los comentarios que se encuentran aqui para tratar de dar solucion el problema de
      cargando desde: Reporte.jasper
      mensaje de error: null

      eh echo todo lo de las rutas pero concuerdo contigo es obvio que si encuentra el reporte por que no manda el error de archivo no encontrado y lo que manda es un null
      me podrias explicar como es que diste solucion a esto o que quieres decir con que la configuracion del ireport a cambiado tengo una semana con este problema te lo agradesco de antemano

  86. hola io tengo el mismo problema que no me encuentra el .jasper
    lanzandome este error
    Conexion establecida
    Cargando desde: Parcial.jasper
    Error al cargar el reporte: null
    Java Result: 3
    he probado de todas las formas posibles pero ninguna me las soluciona espero podas ayudarme xq es para un proyecto para la proxima semana
    de antemano muchas gracias
    y exelente tutorial xq me ha sacado de muchas dudas

    • Gerson
      tengo tu mismo problema!! i mi proyecto es para mañana!! alguien sabe como hacer graficas???

  87. Que tal maestro?
    Estuve siguiendo paso a paso tu tutoria: el de “Aprenda Reportes con ayuda del plugin IReport para Netbeans”.
    Todo sale bien hasta la parte del

    JasperPrint jasperPrint= JasperFillManager.fillReport(masterReport,parametro,this.getCn());
    //Se lanza el Viewerde Jasper, no termina aplicación al salir
    JasperViewer jviewer= new JasperViewer(jasperPrint,false);
    jviewer.setTitle(“Geniz -Reporte”);
    jviewer.setVisible(true);

    Me lanza esta excepcion:
    java.lang.NullPointerException
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)

    Te agradeceria muchisimo si me pudieras decir de que trata dicha excepcion…

    • Hola amigo,

      Me estoy iniciando el ireports y tengo el mismo problema, me gustaria que digas como solucionaste el problema si lo lograste.

      saludo.

  88. Hola alguien sabe porque me marca error en todos los javax de mi proyecto si el codigo esta bien estoy usando net beans 6.8 no se si se deba a k haga falta alguna libreria en esta version por fa ayudenme es urgente!

    • hola, efectivamente puede ser porque no tienes algunas librerias o porq las importaciones que hiciste estan en paquetes incorrectos, deberias de colocar tu codigo donde estan los import.

  89. Hola Geniz vi los comentarios sobre los reportes y se me hizo muy bueno para externar el problema que tengo. Resulta que tengo mi aplicacion en MyEclipse y los cargo en websphere 6.0 de desarrollo, pero al momento de subirlo a produccion me envia en el log.
    [Servlet Error]-[GenerarReporteLineasNEGOCIO]: java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/util/JRStyledTextParser
    Ya se que eso me indica que no esta la clase, pero si esta.
    Lo extraño es que en desarrolo genera todo sin problema y en produccion no.

  90. hola amigo…
    Un problema con netbeans…
    no puedo correr mis programas me dice esto:
    java.io.FileNotFoundException: C:\Users\Armando Lomel�\.netbeans\6.9\ant\nblib\org-netbeans-modules-mobility-project.jar (El sistema no puede encontrar la ruta especificada)

    ya lo trate de desinstalar pero no me lo desintala y me aparece un recuadro que dice asi:
    El componente destino indicado .nb- base/6.9.1.0 no se encontro en el registro

  91. hola amigo…
    Un problema con netbeans…
    no puedo correr mis programas me dice esto:
    java.io.FileNotFoundException: C:\Users\Armando Lomel�\.netbeans\6.9\ant\nblib\org-netbeans-modules-mobility-project.jar (El sistema no puede encontrar la ruta especificada)

    ya lo trate de desinstalar pero no me lo desintala y me aparece un recuadro que dice asi:
    El componente destino indicado .nb- base/6.9.1.0 no se encontro en el registro

    gracias de antemano :D

  92. [...] Reportes Netbeans [...]

  93. oye un favor no puedo conectarme desde aqui al hotmail nesesito hacer tunneling y necesito saber si tienes un servidor ssh y me pases un usuario y un password la direccion ip si es fija si porfavor me ayudarias andale di que si si di que si andale supongo q si tienen servidor ssh si no puedes hacer uno por fis andale te mando un link para ver si te ayuda a saber lo q quiero hacer y contestame al correo de la empresa vale
    http://rauldepablo.wordpress.com/2008/02/08/tunneling-ssh-para-http-paso-a-paso/

    • andale

  94. andale solo necesito el usuario y un pass y la ip de ssh porfas andale

  95. Hola amigos, tengo un pequeño problema, utilizo una clase para generar mis reportes hechos en ireport y me funciona bien, el problema es cuando hago subreportes no me anda para nada.

    public class verReporteJasper {
    String directorio=”";
    Connection conexion;
    String archivo=”";
    public void visualizarReporte(String dir, Connection conexion) throws JRException{
    this.directorio=directorio;
    this.conexion= conexion;
    String archivo = System.getProperty (“user.dir”)+directorio;

    System.out.println(“Cargando desde: ” + archivo);

    if(archivo == null){

    JOptionPane.showMessageDialog(null,”Error al generar reporte, verifique impresora\n”,

    “Generar Reporte”,JOptionPane.ERROR_MESSAGE);

    } JasperReport masterReport= null;

    try {

    masterReport= (JasperReport) JRLoader.loadObject(archivo);

    } catch (JRException e) {

    System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());

    JOptionPane.showMessageDialog(null,”Error al generar reporte, verifique impresora\n”,

    “Generar Reporte”,JOptionPane.ERROR_MESSAGE);

    }
    JasperPrint jasperPrint= JasperFillManager.fillReport(masterReport,null,conexion);

    JasperViewer jviewer= new JasperViewer(jasperPrint,false);

    jviewer.setTitle(“Titulo de mi Reporte”);

    jviewer.setVisible(true);

    }

  96. hola tengo este ejercicio donde le estoy enviando dos parametros a un reporte, pero no me lo muestra
    El codigo que tengo es este:

    package reportes;
    /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */

    /**
    *
    * @author ADSI942
    */
    // importamos las librerias
    import java.util.HashMap;
    import java.util.Map;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.view.*;
    import net.sf.jasperreports.view.JRViewer.*;
    import net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor.*;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.design.JasperDesign;
    import net.sf.jasperreports.engine.export.JRPdfExporter;
    import net.sf.jasperreports.engine.export.JRXlsExporter;
    import net.sf.jasperreports.engine.export.ooxml.JRDocxExporter;
    import net.sf.jasperreports.engine.xml.JRXmlLoader;

    public class IniciarReporte {

    public java.sql.ResultSet respuesta;

    public static void ejecutarReporte(String NombreReporte, String Parametro, String Parametro2, String Nombre_Parametro, String Nombre_Parametro2, int tipo) {
    conexionBaseDatos2 conexion = new conexionBaseDatos2();

    // aqui va la ruta de nuestro reporte

    String filejasper = “reportes//”+ NombreReporte+”.jrxml”;

    try
    {
    // Cargamos parametros
    Map param = new HashMap();
    param.put(Nombre_Parametro, Parametro);
    param.put(Nombre_Parametro2, Parametro2);
    JasperDesign jasperDesign = JRXmlLoader.load(filejasper);
    // compilamos el reporte
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    // preparamos el reporte y se inserta el valor del query
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, param, conexion.conectarBaseDatos());
    // cargamos el reporte en el visor
    JasperViewer jasperviewer = new JasperViewer(jasperPrint,false);
    // ponemos titulo al reporte
    jasperviewer.setTitle(NombreReporte);
    //jasperviewer.show();
    jasperviewer.setVisible(true);

    switch(tipo){

    case 1:JRExporter exporter1 = new JRPdfExporter();
    exporter1.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
    exporter1.setParameter(JRExporterParameter.OUTPUT_FILE,new java.io.File(NombreReporte+”.Pdf”));
    exporter1.exportReport();break;

    case 2:JRExporter exporter2 = new JRDocxExporter();
    exporter2.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
    exporter2.setParameter(JRExporterParameter.OUTPUT_FILE,new java.io.File(NombreReporte+”.Docx”));
    exporter2.exportReport();break;

    case 3:JRExporter exporter3 = new JRXlsExporter();
    exporter3.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
    exporter3.setParameter(JRExporterParameter.OUTPUT_FILE,new java.io.File(NombreReporte+”.Xls”));
    exporter3.exportReport();break;
    }
    }
    catch(Exception e){
    javax.swing.JOptionPane.showMessageDialog(null, e);
    }
    conexion.cerrarConexionBaseDatos();
    /* try {
    String archivo = “reportes\reporteHistoriaPaciente.jasper”;

    JasperPrint informe = JasperFillManager.fillReport(archivo, cedula, conexion);
    JasperViewer ventana = new JasperViewer(informe, false);
    ventana.setVisible(true);
    } catch (Exception e) {
    e.getMessage();
    }
    /*
    * —————————————
    try{
    Class.forName(DRIVER);
    CONEXION = DriverManager.getConnection(RUTA,USER,PASSWORD);
    javax.swing.JOptionPane.showMessageDialog(null,”Conexion establecida”);

    String template=”Reporte.jasper”;
    JasperReport reporte=null;
    reporte=(JasperReport) JRLoader.loadObject(template);

    Map param=new HashMap();
    param.put(“id”, id);

    JasperPrint jasperprint= JasperFillManager.fillReport(reporte,param,CONEXION);
    JasperViewer visor=new JasperViewer(jasperprint,false);
    visor.setTitle(“Geniz Reportes – GSF”);
    visor.setVisible(true);

    }catch(Exception e){
    javax.swing.JOptionPane.showMessageDialog(null, e);

    }
    */
    }

    // public void cerrar() {
    //
    // }
    }
    y para el formulario donde creo el boton tengo este codigo:

    los dos parametros que estoy llamando los creo en ireport, y son Cedula, Sede.

    pero no me los muestra sino solo el reporte donde damos preview..

    package reportes;

    /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */

    /*
    * Reporte.java
    *
    * Created on 1/02/2011, 01:45:00 PM
    */

    /**
    *
    * @author ADSI942
    */
    public class Reporte extends javax.swing.JFrame {
    //IniciarReporte();
    public java.sql.ResultSet respuesta;
    static String tipo2=”";
    public Reporte(String tipoperfil) {
    initComponents();
    tipo2 = tipoperfil;

    }

    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    */
    @SuppressWarnings(“unchecked”)
    //
    private void initComponents() {

    Buttoncedula = new javax.swing.JButton();
    Labelcedula = new javax.swing.JLabel();
    Textcedula = new javax.swing.JTextField();
    ComboBoxsed = new javax.swing.JComboBox();
    Labelsede = new javax.swing.JLabel();
    jLabel1 = new javax.swing.JLabel();
    tipo = new javax.swing.JComboBox();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    Buttoncedula.setText(“Generar”);
    Buttoncedula.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    ButtoncedulaActionPerformed(evt);
    }
    });

    Labelcedula.setForeground(new java.awt.Color(0, 51, 204));
    Labelcedula.setText(“Cedula”);

    ComboBoxsed.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Seleccione una”, “Cabecera”, “Vivero “, “Ciudadela” }));

    Labelsede.setForeground(new java.awt.Color(0, 0, 255));
    Labelsede.setText(“Sede”);

    jLabel1.setForeground(new java.awt.Color(51, 51, 255));
    jLabel1.setText(“Tipo de Impresion”);

    tipo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Selecciones uno”, “Pdf”, “word”, “Excel”, ” ” }));

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(25, 25, 25)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addComponent(jLabel1)
    .addGap(27, 27, 27)
    .addComponent(tipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGap(207, 207, 207))
    .addGroup(layout.createSequentialGroup()
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addComponent(Labelcedula, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(Labelsede))
    .addGap(18, 18, 18)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addComponent(ComboBoxsed, javax.swing.GroupLayout.PREFERRED_SIZE, 148, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addContainerGap())
    .addGroup(layout.createSequentialGroup()
    .addComponent(Textcedula, javax.swing.GroupLayout.PREFERRED_SIZE, 156, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 95, Short.MAX_VALUE)
    .addComponent(Buttoncedula)
    .addGap(27, 27, 27))))))
    );
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(59, 59, 59)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(jLabel1)
    .addComponent(tipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addGap(34, 34, 34)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(Labelcedula)
    .addComponent(Textcedula, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(Buttoncedula))
    .addGap(18, 18, 18)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(ComboBoxsed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(Labelsede))
    .addContainerGap(126, Short.MAX_VALUE))
    );

    pack();
    }//

    public void NombreReporte(){

    // creo la conexion a la base de datos

    conexionBaseDatos2 conexion = new conexionBaseDatos2();

    // guardo la consulta en un strig y la concateno con el jtexfield

    String consulta = (“SELECT * FROM PACIENTE”);

    // (” SELECT * from paciente.nombres AS nombres, paciente.apellidos AS Apellidos, cita.fecha AS fecha, cita.hora AS hora, sede.nombre AS NombreSede, sede.direccion AS DireccionSede, especialista.nombres AS N.Especialista, especialista.apellidos AS A.Especialista, paciente.identificacion AS identificacion,FROM paciente INNER JOIN cita ON paciente.identificacion = cita.PACIENTE_identificacion INNER JOIN sede ON cita.SEDE_idsede= sede.idsede INNER JOIN especialista ON cita.ESPECIALISTA_identificacion` = especialista.identificacion WHERE paciente.identificacion = ‘”+ identificacion +”‘” );

    //creamos el Statement para hacer consultas

    try
    {
    java.sql.Statement sta=conexion.conectarBaseDatos().createStatement();
    respuesta = sta.executeQuery(consulta);
    System.out.println(respuesta);

    }
    catch (java.sql.SQLException e)
    {
    e.printStackTrace();
    }
    }

    private void ButtoncedulaActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    /*
    * String reporte=”mantenimientomaquina”;
    String mantenimientomaquina=TxtNombreMaquina.getText();
    int tipos=tipo.getSelectedIndex();
    */

    String reporte = “reporteHistoriaPaciente”;

    // System.out.print(“Que estamos haciendo”);
    String cedula= “Cedula”;
    String sede = “Sede”;
    String Parametro = (String)this.Textcedula.getText();
    String Parametro2 = (String)this.ComboBoxsed.getSelectedItem();
    int tipos = this.tipo.getSelectedIndex();
    IniciarReporte.ejecutarReporte(reporte, Parametro, Parametro2, cedula, sede, tipos);

    /*
    try {
    String archivo = “reportes\\reporteHistoriaPaciente.jasper”;
    System.out.println(archivo);
    JasperPrint informe = JasperFillManager.fillReport(archivo, cedula, conexion);
    JasperViewer ventana = new JasperViewer(informe, false);
    ventana.setVisible(true);
    } catch (Exception e) {
    e.getMessage();
    }*/

    }

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new Reporte(tipo2).setVisible(true);
    }
    });
    }

    // Variables declaration – do not modify
    private javax.swing.JButton Buttoncedula;
    private javax.swing.JComboBox ComboBoxsed;
    private javax.swing.JLabel Labelcedula;
    private javax.swing.JLabel Labelsede;
    private javax.swing.JTextField Textcedula;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JComboBox tipo;
    // End of variables declaration

    }

  97. Los reportes no dan que puede ser estoy con ireport 3.7.4
    el codigo esta bien no hay errores solo cuando lo ejecuto o llamo al reporte se tarda mucho en abrir y cuando abre solo se ven iconos estoy con java 6 u 23
    con netbeans 6.9.1

  98. Hola amigo quisiera que me ayudes con este error por favor. gracias de antemano

    Exception in thread “AWT-EventQueue-0″ java.lang.NullPointerException
    at generandoreporte.formulario.jButton1ActionPerformed(formulario.java:74)
    at generandoreporte.formulario.access$000(formulario.java:18)
    at generandoreporte.formulario$1.actionPerformed(formulario.java:43)
    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:6263)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6028)
    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:4574)
    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)

  99. disculpa pero es que tengo un problema con crear el reporte.
    ya tengo la bd y la coneccion solo que al crear el reporte en nuevo empty report al termina me manda el siguente error:

    Error loading the report template:
    java.lang.NoClassDefFoundError: org/springframework/core/io/Resource

    Espero tu pronta respuesta por que ya hemos perdido bastante tiempo con este error

    Muchas gracias!!!

  100. tengo un serio problema estoy haciendo un sistemita de facturacion en java estoy utilizando netbeans 6.9.1 e ireport 3.7.6 tengo todos mis reportes hechos y no me dan ningun problema pero cuando genero el jar del proyecto no me muestra ningun reporte y no me da ningun error ya revise todo coloque la carpeta de reporte la coloque dentro del dist no se que hacer para mostrarlos por fa ayudame hermano….

  101. yo tengo un problema con la conexion de una aplicacion en netbeans a mysql
    mi duda es en la parte de la ruta:
    ejemplo Connection cnn=DriverManager.getConnection(“jdbc:mysql://localhost/biblioteca”,”root”,”leo”);

    biblioteca es el nombre de mi bd pero en donde guardo esa bd?? en la carpeta principal del proyecto o en donde? porque me marca un error de unknow data base biblioteca por favor alguien que me ayude

  102. Hola me podrian ayudar con el problema que me sale al intetar generar un reporte en netbeans.

    Digamos que todo los pasos de las diaposiotivas estan correctos.
    pero en este caso quiero ver un reporte general y no por un parametro.

    public void runprimerReporte(){

    try
    {
    //Obtiene la ruta de donde se encuentra nuestro reporte
    String master = System.getProperty(“user.dir”) +
    “\\src\\reportes\\pruebareporte.jasper”;

    System.out.println(“Master cargado desde…” + master);
    //Realizar comparacion de la ruta del reporte si esta no es hallada
    //y nos mostrara el siguiente error.
    if (master == null)
    {
    System.out.println(“No encuentro el archivo del reporte maestro.”);
    System.exit(2);
    }

    JasperReport masterReport = null;
    try
    {
    masterReport = (JasperReport) JRLoader.loadObject(master);
    }
    catch (JRException e)
    {
    System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());
    System.exit(3);
    }

    //este es el parámetro, se pueden agregar más parámetros
    //basta con poner mas parametro.put
    Map parametro = new HashMap();

    //Reporte diseñado y compilado con iReport
    //conn es la conexion con la base de datos
    JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,parametro,conn);

    //Se lanza el Viewer de Jasper, no termina aplicación al salir
    JasperViewer visor = new JasperViewer(jasperPrint,false);
    //Titulo del Reporte
    visor.setTitle(“Reporte de Personas”);
    visor.setVisible(true);
    }

    catch (Exception j)
    {
    System.out.println(“Mensaje de Error:”+j.getMessage());
    }

    }
    public void cerrar(){
    try {
    conn.close();
    }
    catch (SQLException ex)
    {
    ex.printStackTrace();
    }
    }

    sabemos que desde un jframe tengo un boton y que programo el evento para que llame al anterior funcion.
    y el error que me presenta es:

    Master cargado desde…C:\Users\Ing JARC\Documents\NetBeansProjects\PruebaReportes\src\reportes\pruebareporte.jasper
    Mensaje de Error:Unknown hyperlink target 0

  103. hola, yo tengo un problema con el .jar. En netbeans el proyecto corre perfectamente genera el reporte pero en el .jar no. Simplemente no pasa nada al dar clic en el boton.
    asi que ejecute desde el simbolo del sistema para ver que errores tenia y me sale:
    master: C:\Documents and Settings\Administrador\reportes\reporte.jasper
    Mensaje de error null

    en esa ruta si esta el archivo .jasper y el jrxml dentro de la carpeta reportes.
    asi que no se que sera porque el archivo si esta.
    alguna sugerencia
    Gracias

  104. saludos, comento mi problema resulta que he realizado el reporte en ireport con parametros al abrir el reporte me pide el codigo del parametro y sale los datos de este, hasta aqui todo perfecto, luego cuando lo implemento en java, aqui esta el error lo ejecuto, me pide el codigo y al digitar el mismo que me pide me sale que este documento no tiene paginaa, pero si el parametro tiene un valor inicial si lo muestra, ¿porque me sucede esto?

  105. Alguien que haya solucionado el problema de null eh seguido el tutorial al pie de la letra eh leido cada uno de los comentarios que se encuentran aqui para tratar de dar solucion el problema de
    cargando desde: Reporte.jasper
    mensaje de error: null

    eh echo todo lo de las rutas pero concuerdo con dimitruss es obvio que si encuentra el reporte por que no manda el error de archivo no encontrado y lo que manda es un null
    Se ha solucionado a alguien dicho problema!!!
    De antemano gracias a Geniz!!! Espero sus respuestas!!

  106. Hola, soy nuevo en IReport y al abrirlo y darle en “NUEVO” no me muestra las plantillas para elegir cual deseo utilizar. En mi compu de escritorio si aparecen y en mi lap no!! :S
    porfavor si me pudieran ayudar

  107. Saludos. Mi Duda es la siguiente: todo va bien con el Ireport, pero en este reporte muestro horas. El detalle es que estas se visualizan por hora es decir:

    Item Hora
    1 09:05
    2 09:05
    3 10:05
    4 10:05

    Me gustaria que alguien me dijera como solucionar esto ya que deberia ser algo asi

    Item Hora
    1 09:05
    2 09:45
    3 10:15
    4 10:23

    Un profesor me dijo que una solucion era buscar la forma que JAVa actualize cada 3000 ms(milisegundos), algo asi es la solucion que me dieron.

    Si alguien sabe como es esta solucion o otra solucion que me permita solucionar esto, estare agradecido que me lo comunicaran. de antemano gracias.

  108. Error filling print… Error executing SQL statement for : ejemplo
    net.sf.jasperreports.engine.JRException: Error executing SQL statement for : ejemplo      at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:169)      at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:684)      at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:605)      at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)      at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:878)      at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)      at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)  Caused by: java.sql.SQLException: ORA-00911: carácter no válido       at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)      at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:813)      at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1049)      at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:854)      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1154)      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)      at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3415)      at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:163)      … 11 more 
    Print not filled. Try to use an EmptyDataSource…

  109. Por favor necesito ayuda,pueden ayudarme con esto que me sale en la preview del roport?

    rafa :Error filling print… Error executing SQL statement for : ejemplonet.sf.jasperreports.engine.JRException: Error executing SQL statement for : ejemplo      at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:169)      at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:684)      at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:605)      at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)      at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:878)      at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)      at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)  Caused by: java.sql.SQLException: ORA-00911: carácter no válido       at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)      at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:813)      at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1049)      at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:854)      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1154)      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)      at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3415)      at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:163)      … 11 more Print not filled. Try to use an EmptyDataSource…

  110. rafa :Error filling print… Error executing SQL statement for : ejemplonet.sf.jasperreports.engine.JRException: Error executing SQL statement for : ejemplo      at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:169)      at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:684)      at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:605)      at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)      at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:878)      at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)      at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)  Caused by: java.sql.SQLException: ORA-00911: carácter no válido       at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)      at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:813)      at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1049)      at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:854)      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1154)      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)      at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3415)      at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:163)      … 11 more Print not filled. Try to use an EmptyDataSource…

  111. Perdona por no escribirte nada antes,he quitado el error de caracter no válido peto me sigue saliendo todo esto:

    Error filling print… Error executing SQL statement for : ejemplo
    net.sf.jasperreports.engine.JRException: Error executing SQL statement for : ejemplo      at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:169)      at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:684)      at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:605)      at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)      at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:878)      at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)      at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)  Caused by: java.sql.SQLException: Elemento SQL92 no soportado en la posición: 73: SER_ID      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)      at oracle.jdbc.driver.OracleSql.handleToken(OracleSql.java:1212)      at oracle.jdbc.driver.OracleSql.handleODBC(OracleSql.java:1111)      at oracle.jdbc.driver.OracleSql.parse(OracleSql.java:1031)      at oracle.jdbc.driver.OracleSql.getSql(OracleSql.java:312)      at oracle.jdbc.driver.OracleSql.getSqlBytes(OracleSql.java:591)      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:205)      at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:813)      at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1049)      at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:854)      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1154)      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)      at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3415)      at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:163)      … 11 more 
    Print not filled. Try to use an EmptyDataSource…

    Estoy ya loco con esto a ver si me puedes ayudar, por cierto mi base de datos es oracle.Un saludo

  112. Hola,

    Estoy comenzando a utilizar el iReports debido a un nuevo proyecto que estoy desarrollando. El problema consiste en la siguiente Excepcion:

    Exception in thread “main” 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 proyectoJasperReports.reportes.main(reportes.java:37)
    Java Result: 1

    el Codigo es el siguiente:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import net.sf.jasperreports.engine.JRException;
    import net.sf.jasperreports.engine.JRExporter;
    import net.sf.jasperreports.engine.JRExporterParameter;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.engine.export.JRPdfExporter;
    import net.sf.jasperreports.engine.util.JRLoader;

    public class reportes {

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    // TODO code application logic here

    try {
    Class.forName(“com.mysql.jdbc.Driver”);
    Connection conexion = DriverManager.getConnection(“jdbc:mysql://localhost:3306/dbprueba”, “root”, “password”);
    JasperReport reporte = (JasperReport) JRLoader.loadObject(“D:/report2.jasper”);
    JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, null, conexion);
    JRExporter exporter = new JRPdfExporter();
    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    exporter.setParameter(JRExporterParameter.OUTPUT_FILE, new java.io.File(“D:/reportePDF.pdf”));
    exporter.exportReport();
    } catch (SQLException ex) {
    System.out.println(ex);
    } catch (JRException ex) {
    Logger.getLogger(reportes.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex) {
    Logger.getLogger(reportes.class.getName()).log(Level.SEVERE, null, ex);
    }
    }
    }

    Agradesco cualquier tipo de ayuda. Saludos a todos.

    • Ya se cual era el problema, hay que trabajar con la ultima version del proyecto de Ireports (jars).

      Saludos

  113. Hola muchas gracias por compartir estas ayudas.

    Yo lo queria utilizar pero para una base de datos de “Access” y en la conexion pongo as:

    Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); //se carga el driver
    conn= DriverManager.getConnection(“jdbc:odbc:nombreConexion”, “”, “”);
    JOptionPane.showMessageDialog(null,”Conexiónestablecida”);

    Pero me genera unos errores:

    Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: org/apache/commons/javaflow/bytecode/Continuable
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
    at javaapplication1.iniciarReporte.ejecutarReporte(iniciarReporte.java:65)
    at javaapplication1.reporte.jButton1ActionPerformed(reporte.java:68)
    at javaapplication1.reporte.access$000(reporte.java:18)
    at javaapplication1.reporte$1.actionPerformed(reporte.java:42)
    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:6288)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6053)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4651)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4481)
    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:4481)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
    at java.awt.EventQueue.access$000(EventQueue.java:84)
    at java.awt.EventQueue$1.run(EventQueue.java:602)
    at java.awt.EventQueue$1.run(EventQueue.java:600)
    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:616)
    at java.awt.EventQueue$2.run(EventQueue.java:614)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
    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.javaflow.bytecode.Continuable
    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:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

    Me podriais decir si estoy haciendolo mal al usar base de Acces y no de mysql?

    Un saludo

    • hace falta agregar lalibreria commons javaflow

  114. que tal amigo fijate que mee tira una esepcion de que no tiene paginas sii me abre el reporte peroo no contiene datos te agradeceria si me ayudaras :D

    • probablemente tu query no estara retornando datos

  115. tengo una pregunta para como poder guardar el documento xq si le doy guardar no me guarda el reporte te agradeceriaaa si me respondieras muchisimas gracias

    • seguramente te estra faltano alguna lireria, checala consola almomento de guardar, te estara lanzado una exception. si guards en pdf checa que este la iText

  116. Hola, amigos….

    Que buen blog tiene el compañero, agradezco que compartas tus conocimientos con la comunidad que esta adentrandose en lo que tu ya sabes, me gustaría si puedes colaborarme con un tutorial sobre checbox en java, pero los checbox los necesito colocar en una tabla en la cual cuando seleccione capturar un dato especifico de la tabla, por supuesto que la tabla contiene datos de una base de datos creada en PostgreSQL, por el momento voy a leer el tutorial de Reportes con ireport con java y parametros…. agredeciendote de ante mano, espero tu respuesta…..

    • por supuesto que se puede, aqui hy unejemplo con un jlabel en las celdas, podrias adaptarlo a un checkbx:

      /**
      * @author
      * Javier Dominguez Geniz
      */
      import javax.swing.*;
      import javax.swing.table.*;
      import java.awt.Component;

      class Renderer extends DefaultTableCellRenderer {

      @Override
      public Component getTableCellRendererComponent(
      JTable table,Object value,
      boolean isSelected,
      boolean hasFocus,
      int row, int column)
      {
      Component comp = super.getTableCellRendererComponent(
      table,value,isSelected,hasFocus,
      row,column
      );

      JLabel label = (JLabel)comp;

      return label;

      }
      }

      depuesde eso donde creas tus tablas los istancias.
      Renderer rd=new Renderer();

      modificas sus propiedads.
      rd.setHorizontalAlignment(JLabel.RIGHT);

      obtienes la column donde se anadira.
      TableColumn col0;
      col0=tabla.getColumnModel().getColumn(0);

      y se lo colocas.
      col0.setCellRenderer(rd);

      puedes cambiar otro objrto y popiedades. entu casoun check
      JTextField jTn=new JTextField();
      jTn.setEnabled(false);

      y agrearselos a la columna

      col0.setCellEditor(new javax.swing.DefaultCellEditor(jT));

      y lacolumna tendra ahora s objeto alque le ppodrscambiaar tods las propiedades.

  117. Que tal geniz se me olvido comentarte que estoy trabajando con el framework Visual Web Java ServersFaces y lo del ejemplo de los checbox no lo he probado pero no se si sea lo mismo con ese fremework que uso, tambien lei el tutorial sobre reportes pero me no me reconoces algunas librerias me gustaria saber porque, segun lo que note es que parece ser que esas librerias son codigo php…. pero no estoy seguro…..estas son algunas de las librerias que no encuentra……
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.engine.util.JRLoader;
    import net.sf.jasperreports.view.*;
    import net.sf.jasperreports.view.save.JRPdfSaveContributor.*;
    import net.sf.jasperreports.view.JRViewer.*;
    import net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor.*;….. que me puedes decir al respecto….gracias hasta pronto…….

  118. Hola Geniz, realice un ejemplo de reportes con netbeans 6.9 con el framework visual web java servers faces pero no me da error pero no me genera el reporte que puedes hacer por mi en esta caso, este es el código usado a ver que tengo mal, ahora que pienso el código que tu cuelgas no se si sirve para web……

    package sistema_farem;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.JOptionPane;
    import net.sf.jasperreports.engine.JRException;
    import net.sf.jasperreports.engine.JRExporter;
    import net.sf.jasperreports.engine.JRExporterParameter;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.engine.export.JRPdfExporter;
    import net.sf.jasperreports.engine.util.JRLoader;

    public class MyConexion {
    private String MyUser;
    private String MyPassword;
    private String url;
    private Connection conexion;
    private PreparedStatement Consulta;

    MyConexion(){
    try{
    MyUser= “postgres”;
    MyPassword= “marvin”;
    url= “jdbc:postgresql://localhost:5432/AGFE/” ;
    this.conexion = null;
    this.Consulta= null;
    Class.forName(“org.postgresql.Driver”).newInstance();
    conexion = DriverManager.getConnection(url, MyUser, MyPassword);
    }
    catch (Exception e){
    Logger.getLogger(MyConexion.class.getName()).log(Level.SEVERE, null, e);
    JOptionPane.showMessageDialog(null, “Error: ” + e, “Error de Conexión”, JOptionPane.ERROR_MESSAGE);
    }
    }

    public void ejecutarreporte(String nomtabla) throws JRException{
    try
    {
    String archivo = “RBitacora.jasper”;
    System.out.println(“Cargando desde: ” + archivo);
    if(archivo == null)
    {
    System.out.println(“No se encuentra el archivo para reporte”);
    JOptionPane.showMessageDialog(null, “Error de conexion al reporte”);
    System.exit(2);
    }
    JasperReport masterReport = null;
    try
    {
    masterReport = (JasperReport) JRLoader.loadObject(archivo);
    }
    catch (JRException e)
    {
    System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());
    JOptionPane.showMessageDialog(null, “Error de conexion al reporte, 2″);
    System.exit(3);
    }
    Map parametro = new HashMap();
    parametro.put(“nomtabla”,nomtabla);
    JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport,parametro,conexion);
    JRExporter exporter = new JRPdfExporter();
    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    exporter.setParameter(JRExporterParameter.OUTPUT_FILE, new java.io.File(“RBitacora.pdf”));
    exporter.exportReport();
    /*JasperViewer jviewer = new JasperViewer(jasperPrint,false);
    jviewer.setTitle(“Marvin – Reporte”);
    jviewer.setVisible(true);*/
    }
    catch (JRException j)
    {
    System.out.println(“Mensaje de Error:” + j.getMessage());
    JOptionPane.showMessageDialog(null, “Error de conexion al reporte, 3″);
    }
    }

  119. Hola que tal amigo, de verdad que es increible tu tutorial, esta muy bien explicado, pero tengo un par de problemas, hice los pasos pero haz de cuenta que desde netbeans puedo generar los reportes en sus Jtables, y ya tambien pude generar el reporte y al darle en preview me lo muestra perfectamente, pero ahora me gustaria poder mostrar ese reporte… por ejemplo cuando llamo a mis frames lo hago asi:

    new frame().setVisible(true);

    me pregunto cual seria el codigo para hacer visible el reporte, de ante mano muchisimas gracias.

  120. ola, necesito generar reportes pero con varias bases de datos, osea la base de datos puede cambiar en cualquier momento cuando el usuario asi lo decida y pss el reporte se debe generar con la base de datos seleccionada por el usuario.
    gracias!!

  121. Hola javier te felicito por compartir tus coocimientos a todos, queria preguntarte algo pues yo hice la prueba con el ejercicio que tu pusistes a disposición de ireport, lo probe y todo y me sale un mensaje de error que dice esto(net.sf.jasperreports.engine.JRException:Error executing SQL statement for:Reporte) y quisera saber donde esta el error del porque no me ejecuta el reporte

  122. Eh estado buscando tanto la correción del porque me da este error al momento de generar el reporte((net.sf.jasperreports.engine.JRException:Error executing SQL statement for:Reporte) y no he logrado solucionarlo, te agradeceria mucho que me puedas ayudar en este problema que tengo, gracias de antemano

  123. me sale este error.
    me podrias ayudar
    java.lang.nullpointerexeption

  124. Hola Geniz como te va, estuve viendo tu tutorial y ejecute todo paso a paso y finalmente obtengo un error:

    Cargando desde: Reporte1.jasper
    Mensaje de Error: null

    Ya revise el codigo varias veces y no entiendo por me sale este error.

    Me ayudas ??

  125. if(txtPalabra.getText().equals(“”)){
    txtMensaje.setText(“Porfavor ingrese la palabra”);
    return;
    }

    int largodetexto = txtPalabra.getText().length();

    if(largodetexto!=6){
    txtMensaje.setText(“Error: La palabra debe tener 6 caracteres y tiene “+largodetexto);
    return;
    }
    //invertir la palabra
    String invertirPalabra=”";
    invertirPalabra=this.invertirPalabra.charAt(5)+invertirPalabra.charAt(4)+invertirPalabra.charAt(3)+invertirPalabra.charAt(2)+invertirPalabra.charAt(1)+invertirPalabra.charAt(0);

    txtSalida.setText(invertirPalabra);

    txtMensaje.setText(“Ok: La palabra fue invertida correctamente”);

  126. me puedes ver por que me tira error como si el nombre de la clase no fuese igual y si lo es porfavor ! es para invertir una palabra de caracteres. de ante mano gracias !

  127. Gracias Javier por el tutorial pero sabras como hacer reportes-netbeans con JSF por favor soy principiante

  128. oye ya tengo mi programa y se ejecuta bien en netbeans, Pero al momento de crear el .jar y ejecutarlo el reporte no se visualiza me podrias ayudar

    ^^

  129. Hola,

    Si ejecuto mi proyecto desde netbeans los reportes se abren y funcionan perfectamente pero si ejecuto el proyecto desde el jar(que aparece en la carpeta dist) no se abren, la base de datos funciona y puedo introducir/modificar…datos…

    ¿que hay que hacer para que un proyecto finalizado y compilado pueda abrir reportes y no dependa del netbeans?

    Saludos! espero que puedas ayudarme!

    • SACA EL JAR UN NIVEL HACIA ARRIBA Y DESDE AHI EJECUTA, EL JAR EJCUTADO DESDE LA CARPETA DIST OBVIAMENTE BUSCA TODO LO QUE NECESITA DESDE ESA CARPETA, PERO TODA L A INFO REQUERIDA ESTA EN LA CARPETA RAIZ

      • vale, ya me funciona, era eso del jar, y también petaba al compilar el reporte, no se porque, pero bueno lo compilo desde el netbeans cuando tenga que tocar reportes y ya esta.

        gracias!!!!

  130. gracias por la respuesta, de momento aún no me va xD
    sigo investigando y si eso te pido más ayuda,
    muchas gracias!

  131. ESTE ERROR ME TIRA A MI AYUDA PORFAVOR

    Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: org/apache/commons/collections/ReferenceMap
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.(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.(ExtensionsEnvironment.java:68)
    at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:83)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:184)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:78)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:88)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:58)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:52)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
    at desktopapplication1.IniciarReporte.ejecutarReporte(IniciarReporte.java:77)
    at desktopapplication1.NewJFrame.jButton1ActionPerformed(NewJFrame.java:93)
    at desktopapplication1.NewJFrame.access$000(NewJFrame.java:21)
    at desktopapplication1.NewJFrame$1.actionPerformed(NewJFrame.java:50)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
    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:6373)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6138)
    at java.awt.Container.processEvent(Container.java:2085)
    at java.awt.Component.dispatchEventImpl(Component.java:4735)
    at java.awt.Container.dispatchEventImpl(Container.java:2143)
    at java.awt.Component.dispatchEvent(Component.java:4565)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
    at java.awt.Container.dispatchEventImpl(Container.java:2129)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4565)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
    at java.awt.EventQueue.access$000(EventQueue.java:85)
    at java.awt.EventQueue$1.run(EventQueue.java:638)
    at java.awt.EventQueue$1.run(EventQueue.java:636)
    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:652)
    at java.awt.EventQueue$2.run(EventQueue.java:650)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    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:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    … 58 more

  132. hola saludos a todos este es mi problema por favor ayudenme va!!! ya llevo varios dias con el mismo problema que es el siguiente

    Cargando Reporte desde Reporte.jasper
    Error al cargar el reporte maestro: java.io.FileNotFoundException: Reporte.jasper
    Java Result: 3

    de antemano gracias mi correo es jarol2340@hotmail.com

  133. mi gran problema es que yo necesito un boton para reporte en un formulario ya hecho con base de datos ya hechas… yo necesito un reporte de la informacion de ese formulario seria posible una pequenha ayuda? gracias

  134. gracias me a sido de mucha ayuda :D

  135. que tal sigo con el problema con mensaje de null
    si alguien ya lo resolvio ke lo pase jeje XD

    Exception in thread “AWT-EventQueue-0″ java.lang.NullPointerException
    at java.lang.Class.isAssignableFrom(Native Method)

    ya cheque la ruta. esta correcta
    las librerias tambien
    el parametro tambien

    Un dato extra – baje un ejemplo de http://jc-mouse.blogspot.com/2011/02/reportes-con-ireport-y-netbeans.html

    corrio el ejemplo ahora pase el ejemplo como tal a unos de mis paquetes de mi proyecto ejecute de nuevo el ejemplo y XD no corre (tienen las mismas librerias el ejemplo descargado y mi proyecto)

    le di limpiar y construir y nada….

    • jeje creo ke ya lo tengo, mi error estaba en q estaba agregando la libreria de jasper una version anterior (de los ejemplos descargados de netbeans con ireport) como por ejemplo en algunas paginas decian ke crearas manualmente

      http://www.javatutoriales.com/2009/02/creacion-de-reportes-con-jasperrepots-y.html

      y solo la cambie por la bibloteca ke biene cuando instalas el ireport

      http://wiki.netbeans.org/ReportesEnNetBeansConIReport

      descargado de

      http://plugins.netbeans.org/plugin/4425/ireport

      verificando y actulizando todas las biblotecas ke estan rojo(estos jar ke estan en rojo los actualizas por los ke estan en tu carpeta de C:\Program Files\NetBeans 7.0.1\ireport\modules\ext)
      una bibloteca que no te pide pero que tienes ke agregar es spring que biene tambien en la carpeta mencionada anteriormente

      ya ke estes hasta aca descargas el xercesImpl porke ese si no esta en esa carpeta XD, ya ke lo hayas descargado lo agregas = a la bibloteca jasper

      y listo jeje

      espero haberme explicado, claro esto soluciono mi error

      • Asi es mi estimado, las librerias jasper no tienen por si sola el 100% de su funcionalidad, pueden tener dependencias como la libreria iText, Groovy,etc, cuando necesites esas lo emjor es tomarlas de las que trae el ireport con el que hiciste tu reporte, saludos.

  136. Buen día Hermano..
    que dios te bendiga

    tengo un gran problema con esto de los reportes, ya tengo desarrollada mi aplicación en netbeans 7.0.1 y jasperreports 4.1.1, ya hice todo lo que dice tu presentación pero no me funciona, me gustaría que realizaras un pequeño reporte con esta versiones tanto de netbeans como jasperreports

    • checa ke tengas todas tus librerias o create una bibloteca e incluye estas librerias
      commons-beanutils-1.8.2.jar

      commons-colections-3.2.1.jar

      commons-digester-1.7.jar

      commons-javaflow-20060411.jar

      commons-logging-1.1.jar

      groovy-all-1.7.5.jar

      iText-2.1.7.jar

      iTextAsian.jar

      jakarta-bcel-20050813.jar

      jasperreports-4.5.0.jar

      jasperreports-chart-themes-4.5.0.jar

      jasperreports-core-renderer.jar

      jasperreports-extensions-3.5.3.jar

      jasperreports-fonts-4.5.0.jar

      jasperreports-htmlcomponent-4.1.1.jar

      jasperreports-json.jar

      jasperreports-jtidy-r938.jar

      png-encoder-1.5.jar

      poi-3.6.jar

      poi-ooxml-3.6-20091214.jar

      poi-ooxml-3.7-20101029.jar

      poi-ooxml-schemas-3.6-20091214.jar

      poi-ooxml-schemas-3.7-20101029.jar

      spring.jar

  137. Estimado Geniz. Quisiera antes que nada agradecerte por permitir compartir tus conocimiento de forma libre..

    Necesito una ayudita al momento de dar click sobre el boton estando en ejecucion la clase que lanzara el reporte me sale un mensaje El documento no tiene paginas. seguidamente me lanza la aplicacion del pdf deshabiltado y sin ningun dato

    ¿Que podra ser?

    sin embargo en la opcion preview del archivo.jasper si puedo ver el pdf con los datos perfectamente dentro de netbeans

    • Listo ya esta resuelto..!!

  138. Disculpa geniz llevo semanas tratando hacer esto, ya me sale el reporte en ireport pero no me sale programarlo, jalar el .jasper desde un frame me sale este error, ya estube leyendo por todas partes y a muchos les sale este error porfavor ayudame

    Cargando desde: C:\Documents and Settings\Administrador\Mis documentos\Caleb\residencia\controles\controlesC:\Documents and Settings\Administrador\Mis documentos\Caleb\residencia\controles\controles\src\controles\diplomas2.jasper
    Error cargando el reporte maestro: java.io.FileNotFoundException: C:\Documents and Settings\Administrador\Mis documentos\Caleb\residencia\controles\controlesC:\Documents and Settings\Administrador\Mis documentos\Caleb\residencia\controles\controles\src\controles\diplomas2.jasper
    Java Result: 3
    BUILD SUCCESSFUL (total time: 7 seconds)

    ESTE ES MI CODIGO, YA PUSE LA RUTA DE MI .JASPER DE MIL FORMAS Y NO ME SALE
    public void ejecutarReporte(String matricula)
    {
    try
    {
    String archivo = System.getProperty(“user.dir”)+”C:\\Documents and Settings\\Administrador\\Mis documentos\\Caleb\\residencia\\controles\\controles\\src\\controles\\diplomas2.jasper”;
    System.out.println(“Cargando desde: ” + archivo);
    if(archivo == null)
    {
    System.out.println(“No se encuentra el archivo.”);
    System.exit(2);
    }
    JasperReport masterReport= null;
    try
    {
    masterReport= (JasperReport) JRLoader.loadObject(archivo);
    }
    catch (JRException e)
    {
    System.out.println(“Error cargando el reporte maestro: ” + e.getMessage());
    System.exit(3);
    }
    TAMBIEN ME HA SALIDO ESTE ERROR:
    run:
    Cargando desde: C:\Documents and Settings\Administrador\Mis documentos\Caleb\residencia\controles\controles\src\controles\diplomas2.jasper
    Mensaje de Error:null
    PORFAVOR NECESITO ME AYUDES, ESTOY EN PRACTICAS PROFESIONALES

  139. Hola amigo buen dia como creo un mismo reporte pero desde postgres ? si me puedes ayudar porfa te deseo una exelente semana

  140. hola estoy intentando hacer un reproductor de video en netbeans, pero hay algunas cosas que me indican error por ejemplo la parte de import javax.media.player. el javax no me lo reconoce a que se debe?

  141. hola geniz buenas tardes soy nuevo en java lo k yo quiero es hacer reportes en netbeans

  142. Funcionoo, solamente es agregar la librería groovy-all-1.5.5.jar q comentan y ya está :D se peude descargar aquí: http://www.jarfinder.com/index.php/jars/versionInfo/28379


Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.

Únete a otros 62 seguidores