bloque4:informes
Diferencias
Muestra las diferencias entre dos versiones de la página.
| bloque4:informes [2020/12/18 00:57] – [Directorios de recursos en Eclipse] fernando | bloque4:informes [2024/09/16 20:55] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 16: | Línea 16: | ||
| <code java> | <code java> | ||
| - | JLabel lblFoto = new JLabel(); | + | JLabel lblFoto = new JLabel(); |
| - | lblFoto.setIcon(new | + | lblFoto.setIcon(new |
| //Ó si tenemos la imagen referenciada mediante un objeto File | //Ó si tenemos la imagen referenciada mediante un objeto File | ||
| Línea 53: | Línea 53: | ||
| //4- creamos el icono a partir de Image | //4- creamos el icono a partir de Image | ||
| - | imagenIcono = new ImageIcon(imagenRedimensionada); | + | imagenIcono = new ImageIcon(imagenEscalada); |
| //Ahora lo mostramos en la etiqueta | //Ahora lo mostramos en la etiqueta | ||
| - | vista.labelFoto.setIcon(iconoRedimensionado); | + | vista.labelFoto.setIcon(imagenIcono); |
| Línea 196: | Línea 196: | ||
| ==== Dependencias ==== | ==== Dependencias ==== | ||
| - | Si buscamos la librería en el [[https:// | + | Si buscamos la librería en el [[https:// |
| Para utilizar JFreechart necesitamos incluir en el // | Para utilizar JFreechart necesitamos incluir en el // | ||
| - | Para las versiones 1.0.X, JFreeChart necesita las [[https:// | + | Para las versiones 1.0.X, JFreeChart necesita las [[https:// |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| Actualmente se ha distribuido la versión 1.5.X de JFreeChart, la cual no conlleva dependencias para el trabajo que vamos a realizar con ella, aunque sigue siendo recomendable incluir // | Actualmente se ha distribuido la versión 1.5.X de JFreeChart, la cual no conlleva dependencias para el trabajo que vamos a realizar con ella, aunque sigue siendo recomendable incluir // | ||
| + | |||
| + | //Los siguientes ejemplos de código están planteados con las versiones: **jfreechart-1.0.19** y **jcommon-1.0.24**// | ||
| ==== Funcionamiento ==== | ==== Funcionamiento ==== | ||
| Línea 388: | Línea 390: | ||
| ==== Desplegar diagrama ==== | ==== Desplegar diagrama ==== | ||
| - | Hemos visto en los ejemplos que cualquier diagrama corresponde a una instancia de la clase '' | + | Hemos visto en los ejemplos que cualquier diagrama corresponde a una instancia de la clase '' |
| {{ : | {{ : | ||
| - | Como detalle, un diagrama JFreeChart esta compuesto dos areas principales: | + | Como detalle, un diagrama JFreeChart esta compuesto dos areas principales: |
| Línea 405: | Línea 407: | ||
| </ | </ | ||
| - | Como hemos visto en ejemplo | + | Como hemos visto en ejemplos |
| ===Mediante una ventana JFrame=== | ===Mediante una ventana JFrame=== | ||
| - | La clase '' | + | La clase '' |
| <code java> | <code java> | ||
| - | Chartframe ventana = new ChartFrame(" | + | Chartframe ventana = new ChartFrame(" |
| + | //La sentencia pack() ajusta el JFrame a su contenido | ||
| + | //Si queremos dar un tamaño concreto usamos ventana.size(400, | ||
| ventana.pack(); | ventana.pack(); | ||
| + | |||
| ventana.setVisible(true); | ventana.setVisible(true); | ||
| Línea 436: | Línea 441: | ||
| También podriamos crear una misma ventana donde mostrar el diagrama deseado pulsando diferentes botones. | También podriamos crear una misma ventana donde mostrar el diagrama deseado pulsando diferentes botones. | ||
| - | ===Exportado | + | ===Exportar |
| Podemos crear un fichero de imágen //jpg// ó //png// con la gráfica, usando los métodos estáticos de la clase '' | Podemos crear un fichero de imágen //jpg// ó //png// con la gráfica, usando los métodos estáticos de la clase '' | ||
| Línea 498: | Línea 503: | ||
| Como hemos visto, con el IDE JasperSoft Studio podemos compilar los informes //.jrxml// y obtener directamente el fichero // | Como hemos visto, con el IDE JasperSoft Studio podemos compilar los informes //.jrxml// y obtener directamente el fichero // | ||
| - | Supongamos que tenemos el informe sin compilar en un // | + | Supongamos que tenemos el informe sin compilar en un directorio de recursos |
| <code java> | <code java> | ||
| Línea 522: | Línea 527: | ||
| HashSet< | HashSet< | ||
| - | JasperReport report = (JasperReport) JRLoader.loadObject(" | + | JasperReport report = (JasperReport) JRLoader.loadObject(new File(" |
| JRBeanCollectionDataSource coleccion = new JRBeanCollectionDataSource(vehiculos); | JRBeanCollectionDataSource coleccion = new JRBeanCollectionDataSource(vehiculos); | ||
| Línea 588: | Línea 593: | ||
| {{ vimeo> | {{ vimeo> | ||
| + | |||
| + | ==== Ejemplo completo con IntelliJ ==== | ||
| + | En el siguiente video realizado desde la perspectiva del IDE IntelliJ se realiza: | ||
| + | |||
| + | * Diseño de informe | ||
| + | * Creación de librerias de clases desde IntelliJ | ||
| + | * Utilización de esas librerías en JasperSoftStudio | ||
| + | * Crear gráfico JFreeChart en Informe | ||
| + | * Rellenar Informe | ||
| + | * Mostrar informe | ||
| + | |||
| + | {{ vimeo> | ||
| + | |||
| + | ==== Subinformes con JasperReport ==== | ||
| + | Hasta ahora hemos visto como mostrar informes en los que se accede a algún atributo de una clase creada por nosotros. Los subinformes se utilizan cuando dentro de las filas de un informe, deseo incluir una colección indefinida de datos. | ||
| + | |||
| + | En el siguiente video se diseña un informe que muestra los datos de una colección de asignaturas, | ||
| + | |||
| + | |||
| + | {{ vimeo> | ||
| + | |||
| ==== Dependencias de JasperReport ==== | ==== Dependencias de JasperReport ==== | ||
| Línea 597: | Línea 623: | ||
| - Apache Commons Logging: | - Apache Commons Logging: | ||
| - | - Apache Commons Digester 2.1: [[https:// | + | - Apache Commons Digester 2.1: [[https:// |
| - Apache Commons Collections: | - Apache Commons Collections: | ||
| - Apache Commons BeanUtils: [[http:// | - Apache Commons BeanUtils: [[http:// | ||
| Línea 631: | Línea 657: | ||
| <code java> | <code java> | ||
| - | // | + | // |
| JLabel lblFoto = new JLabel(); | JLabel lblFoto = new JLabel(); | ||
| lblFoto.setIcon(new ImageIcon(getClass().getResource("/ | lblFoto.setIcon(new ImageIcon(getClass().getResource("/ | ||
| Línea 646: | Línea 672: | ||
| ==== Resources en IntelliJ ==== | ==== Resources en IntelliJ ==== | ||
| - | El IDE IntelliJ nos permite desde la pestaña **File -> Project Structure -> Modules ** indican los directorios que contienen recursos, como vemos en la siguiente imagen: | + | El IDE IntelliJ nos permite |
| {{ : | {{ : | ||
| + | |||
| + | Una vez que un directorio es marcado como directorio de recursos (// | ||
| Una vez que hemos seleccionado un directorio como directorio de recursos, para utilizar los ficheros que contiene debemos indicar la ruta del fichero tomando como punto de partida dicho directorio. | Una vez que hemos seleccionado un directorio como directorio de recursos, para utilizar los ficheros que contiene debemos indicar la ruta del fichero tomando como punto de partida dicho directorio. | ||
| Línea 659: | Línea 687: | ||
| * grafico1.jpg (fichero) | * grafico1.jpg (fichero) | ||
| * grafico2.jpg (fichero) | * grafico2.jpg (fichero) | ||
| + | |||
| + | Por otro lado tenemos otro directorio de recursos llamado // | ||
| + | * //reports// | ||
| + | * Informe.jasper | ||
| En los siguientes ejemplos se muestra como indicar la ruta de cada recurso: | En los siguientes ejemplos se muestra como indicar la ruta de cada recurso: | ||
| Línea 669: | Línea 701: | ||
| //Para usar el fichero grafico1.jpg | //Para usar el fichero grafico1.jpg | ||
| label2.setIcon(new ImageIcon(getClass().getResource("/ | label2.setIcon(new ImageIcon(getClass().getResource("/ | ||
| + | |||
| + | //Para usar el informe Informe.jasper | ||
| + | JRLoader.loadObject(getClass().getResource("/ | ||
| </ | </ | ||
bloque4/informes.1608253052.txt.gz · Última modificación: 2024/09/16 20:55 (editor externo)