Reportes en Java con JasperReport e IReport

Hola chicos del modulo 5 disculpas primero por no haber podido subirles mas pronto este articulo, Uds. saben los trabajos que hemos tenido los profesores (…si, igual que Uds), pero aqui les va algo sobre el manejo de reportes en Java aplicado al proyecto de clase ‘Voto2009’ (que lo pueden descargar desde este aqui -ojo tienen que cambiarle la extension a .zip cuando lo bajen-). Algunas aclaraciones:

– Estoy usando Derby como motor de BD, no MySQL entonces hay que hacer los ajustes necesarios

– Hay que diseñar primero el reporte en el IReport para luego ejecutar el codigo desde la aplicacion

– El IReport se descarga en formato .jar y simplemente lo ejecutan para empezar a diseñar reportes

– Necesitan importar estas librerias de JasperReports:
 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;

– EL codigo del menu que abre la ventana con el reporte en la ventana Voto2009Vista es:

private void miListasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miListasActionPerformed
    // TODO add your handling code here:
    try{
 //Cargar el archivo de reporte generado con el IReport
        JasperDesign jd = JRXmlLoader.load(“/home/miltonlab/voto2009/src/Inscripciones.jrxml”);
        JasperReport report = JasperCompileManager.compileReport(jd);
        Connection conexion = new Voto2009Dao().getConexion();
        Map params = new HashMap();
 //Pedimos al usuario el numero del partido del cual quiere imprimir sus candidatos
        int lista = Integer.parseInt(JOptionPane.showInputDialog(“Ingrese el Numero de Lista:”));
        params.put(“numeroPartido”,lista);
 
        JasperPrint print = JasperFillManager.fillReport(report, params,conexion);
 // Se visualiza la ventana con la vista previa del reporte
        JasperViewer.viewReport(print);
       
    }catch(Exception ex){
        System.out.println(“Error al generar reporte: ” + ex);
    }
   
}//GEN-LAST:event_miListasActionPerformed

Anuncios

Buena Navidad para Todos los lectores

Que el Amor que Dios ha derramado en nuestros corazones, y que puede verse con mayor potencia en este mes, puedan ser experimentado en cada uno de Uds. y de sus familiares; que la paz verdadera (la que da Dios) pueda consolarlos a todos de los sufrimientos y las preocupaciones de este año.

Que en este mes de diciembre todos podamos descansar de la ‘locura’ y el ‘corre’ ‘corre’ de los 365 días que nos acogieron en este año.

navimarpeq.jpg

Que la fuerza del <<niño de Belén>>, el cuál no nació para triunfar, ni para agradar a los Romanos, ni para callar la verdad, ni para quitarle el sufrimiento a María, pueda ayudarnos a ver las cosas buenas que hemos recibido en este año y que en el próximo año nos ayude a ser auténticos y fuertes para defender la verdad; porque este niño que muchas lo vemos como una criatura indefensa ha nacido para “sufrir” hasta el punto de dar su vida, y sabes por qué? Solo por ti y por mí.

Feliz Navidad, Dios te ama, créetelo …….

PRACTICA DE PROGRAMACION EXTRACLASE # 2

Construya un programa en donde muestre un ejemplo de utilización de cada uno de los Oyentes listados a continuación:

WindowListener, ItemListener, ListSelctionListener, MouseMotionListener, MouseListener, ContainerListener, ComponentListener, ListDataListener, WindowFocusListener, UndoableEditListener, FocusListener.

Para cada ejemplo Ud. deberá revisar información a cerca de cada tipo de Evento que puede manejar el correspondiente escuchador.

Sugerencias:

Use una única ventana pincipal que contenga los menús correspondientes y para mostrar cada ejemplo use Diálogos en vez de JFrames.

NOTA: Entre los días Lunes y Miércoles de la próxima semana existirá una lección práctica en el Centro de Cómputo sobre el Capitulo 3 (incluyendo) esta última tarea.

INFORME DE PROYECTOS PARALELO “C”

Tarea: Cada  grupo deberá presentar el día lunes 15 de octubre el listado de los requerimientos de su proyecto. Un requerimiento se lo puede comparar con una tarea que va a desarrollar una aplicación.

Recuerde que el día Viernes 19 de actubre deberá presentar la primera fase que comprende el Modelado del Dominio de su aplicación en UML.

Grupo INTERF@ACE.MB2 : Presentar los requerimientos para determinar si es factible o no el Tema. Mencionar el lugar concreto en donde se necesita el sistema (dentro del tema)Grupo JAVA NOS MATA: Renombrar el Tema como “Inventario y Facturación del Bazar …….”, determinar el lugar concreto en donde lo van a realizar.

Grupo THE AWT: Renombrar el tema como “Gestión Académica del Jardin …….”, determinar el lugar concreto.

Grupo SCANNER: Renombrar el tema como “Control de Prestamos de Lbros en la biblioteca ……”, especificar la biblioteca concreta, contemplar dentro de los requerimientos el registro de libros.

Grupo Gril.SWING. Tema OK. Contemplar el Inventario dentro del tema.

Grupo Java Friends:  Renombrar el tema como “Control del Personal del Parque Recreacional Jipiro”. Contemplar en los requerimientos no solo registro de entrada y salida.

Grupo The Best Container: Contemplar dentro de los requerimientos no solo la fecha de permanencia, sino la gestion de clientes, entradas y salidas, entre otros.

INFORME DE PROYECTOS PARALELO “B”

Tarea: Cada  grupo deberá presentar el día lunes 15 de octubre el listado de los requerimientos de su proyecto. Un requerimiento se lo puede comparar con una tarea que va a desarrollar una aplicación.

Recuerde que el día Viernes 19 de actubre deberá presentar la primera fase que comprende el Modelado del Dominio de su aplicación en UML.

Grupo ADMEl tema debría ser “Facturación e Inventario de ……….”, y necesitan nombrar el lugar concreto en donde lo van a realizar.

Grupo SANTA CRUZ: Tema OK. En los requerimientos especificar los tipos de transacciones que se van a contemplar.

Grupo ELECTRIC-PROGRAM: Tema Rechazado en vista de que ya se ha aprovado un tema sobre facturación en el paralelo.

Grupo SNOBIZ: Tema Rechazado, ya se aprovó una facturación.

Grupo DOFER: Renombrar el tema como “Gestión de personal de la Hostería Aguamanía”. En los requerimientos se debería contemplar entre otros: pagos, horarios, turnos.

 Grupo SYSTEM: Renombrar el tema como: “Facturación de Encomiendas de la Cooperativa Catamayo Express”.

PRACTICA DE PROGRAMACION EXTRA-CLASE #1

Construya un programa en el cual se muestre un catálogo de todos los componentes Swing Básicos, permitiendole al usuario en primer lugar la selección del Componente que desea visualizar para luego mostrarlo en una Ventana separada.

Observaciones:

  • La lista mínima de componentes que tiene que mostrar es la siguiente: JLabel, JButton, JTextField, JPasswordField, JFormattedTextField, JCheckBox, JComboBox, JList, JMenu, JRadioButton, JSlider, JSpinner, JTextArea,JProgressBar, JToolTip.
  • Se sugiere la utilización delos diálogos de entrada provistos por la clase JOptionPane para la selección del componente.
  • Experimente por favor con más de un constructor de cada componente.

Bibliografía:

  • El tutorial oficial de Java – Sun <<Recomendado>>

            http://java.sun.com/docs/books/tutorial

  • La bibliografía citada en la Matriz de Desarrollo de la Unidad + cualquier tutorial sobre Swing en Internet.