Programação Visual
Unidade 07 – iReport - Introdução 1
Prof. Edwar Saliba JúniorNovembro de 2012
iReportIntrodução
Programação Visual
Unidade 07 – iReport - Introdução 2
O que é o iReport?
• O iReport é um gerador de relatórios gratuito feito para a linguagem Java.
• Criado pela empresa “Jaspersoft Corporation”.
• Pode ser adquirido em: http://community.jaspersoft.com/
Programação Visual
Unidade 07 – iReport - Introdução 3
Instalação
• Pode ser:– plug-in para a IDE NetBeans ou– instalado diretamente no sistema operacional
(GNU/Linux / Windows).
Programação Visual
Unidade 07 – iReport - Introdução 4
Visual do Plug-in no NetBeans
Programação Visual
Unidade 07 – iReport - Introdução 5
Visual da Instalação no S.O GNU/Linux – distribuição Ubuntu
Programação Visual
Unidade 07 – iReport - Introdução 6
Observação
• Para esta aula usaremos o plug-in da ferramenta iReport instalado na IDE NetBeans.
Programação Visual
Unidade 07 – iReport - Introdução 7
Criando um Relatório• Para criarmos um relatório no iReport, a
ferramenta nos disponibiliza recursos gráficos que facilitam a criação, visualização e manutenção dos relatórios.
• Na aba de “boas vindas” do iReport, ele nos mostra os três passos necessários para a criação de um novo relatório.
• Se a aba de “boas vindas” não estiver visível, basta acessarmos o menu:– Window | Welcome to Jaspersoft iReport Designer.
Programação Visual
Unidade 07 – iReport - Introdução 8
Três Passos para Criação de um Relatório
Programação Visual
Unidade 07 – iReport - Introdução 9
Passo 1
• É necessária a criação de uma conexão com um SGBD. Ou com uma outra fonte de dados, por exemplo: um arquivo XML.
• A conexão com o SGBD pode ser feita no próprio NetBeans, na aba “Services”, encontrada no menu, “Window | Services” ou
• Simplesmente clicando no ícone de banco de dados mostrado no “step 1” do iReport.
Programação Visual
Unidade 07 – iReport - Introdução 10
Passo 2
• Tendo uma conexão com um SGBD, podemos passar ao passo 2, onde escolheremos como fazer o nosso relatório.
• Para tanto, há duas opçõe:– wizard que nos auxilia na construção do
relatório passo a passo ou– a estrutura simples, onde você criará
“manualmente” todos os campos que comporão seu relatório.
Programação Visual
Unidade 07 – iReport - Introdução 11
Utilizando o Wizard• Ao clicarmos no
“Step 2” da aba de apresentação do iReport, nos será mostrada a tela à direita.
• Então escolha um tema e clique no botão “Lauch Report Wizard”.
Programação Visual
Unidade 07 – iReport - Introdução 12
Nome e Local• O relatório
deve ter um nome e ficar em uma pasta específica.
Programação Visual
Unidade 07 – iReport - Introdução 13
Conexão com o SGBD• O relatório
deve possuir uma conexão com a base de dados. Para definir uma, clique no botão “New”.
Primeiramente,crie a conexãocom o SGBD.
Programação Visual
Unidade 07 – iReport - Introdução 14
Criando a Conexão com o SGBD
• Escolha “Databse JDBC connection” e clique no botão “Next”.
Programação Visual
Unidade 07 – iReport - Introdução 15
Efetivando a Conexão com o SGBD
Dê um nome a
conexão.Escolha o
driver JDBC.
Entre com o usuário e senha do banco de dados.
Coloque o nome do banco de da-dos na string de
conexão.
Clique no botão “Test” para veri-ficar a conexão.
Programação Visual
Unidade 07 – iReport - Introdução 16
Query• O relatório
deve ter uma sentença SQL que filtre, no banco de dados, os dados que deverão ser impressos.
Você podeescrever asentença SQL aqui.
Ou usar o recurso visualpara construção de sen-
tenças SQL.
Programação Visual
Unidade 07 – iReport - Introdução 17
Criando a Sentença SQL
• Se você preferir criar a sentença usando o recurso visual, então você verá a tela ao lado.
Programação Visual
Unidade 07 – iReport - Introdução 18
Selecionando o Local das Tabelas
Utilize o ComboBox paraindicar o local onde estãoas tabelas no banco de
dados.
Programação Visual
Unidade 07 – iReport - Introdução 19
Criando a Sentença SQL
Dê um clique duplo no * e atela “expression.edit” apare-
cerá. Então digite o nome doscampos que deverão apare-
cer no relatório.
Dê um clique duplo em uma
das tabelas queaparecer e suatela ficará com
esta. A tabela e seus cam-pos são
mostrados.
Uma sentença SQL éautomaticamente cons-truída com os campos da tabela selecionada.
Programação Visual
Unidade 07 – iReport - Introdução 20
Cláusula WhereClique na cláu-sula where como boão direito eselecione “add
condition”. Entãoa tela
“condition.edit”aparecerá.
Vamos selecionar todos os produtoscom preço maior que R$2,00.
Escreve-se o nome do campo: “preco”.
Seleciona-se o operador relacional.
E define-se o valor de comparação.
Programação Visual
Unidade 07 – iReport - Introdução 21
Pausa no tutorial!• Com o
pgAdim do PostgreSQL, fizemos uma consulta no banco para verificar se haviam produtos cadastrados.
Programação Visual
Unidade 07 – iReport - Introdução 22
De volta ao tutorial!
• Nossa tela está assim!
Programação Visual
Unidade 07 – iReport - Introdução 23
Verificando a Sentença Criada
Clicando na aba “syntax”podemos verificar como
ficou a sentença SQL queacabamos de criar.
Para finalizar, cliqueno botão “Ok”.
Programação Visual
Unidade 07 – iReport - Introdução 24
Próximo Passo• Nossa
tela está assim.
• A sentença está pronta.
• Então vamos ao próximo passo.
Programação Visual
Unidade 07 – iReport - Introdução 25
Campos• Nesta tela
podemos escolher os campos que serão exibidos no relatório, para isto basta utilizar os botões “>” ou “...”.
Programação Visual
Unidade 07 – iReport - Introdução 26
Agrupamento• Pode-se agrupar
os dados que serão exibidos, por um ou mais campos da sentença SQL.
• Neste exemplo este recurso não será utilizado.
Programação Visual
Unidade 07 – iReport - Introdução 27
E pronto!
Programação Visual
Unidade 07 – iReport - Introdução 28
A Primeira Visão do Relatório
Temos que fazer algumasmudanças!!!
Programação Visual
Unidade 07 – iReport - Introdução 29
Alterando os Títulos do RelatórioMuito simples! É só darum clique duplo no com-ponente e fazer a altera-
ção.
Feitas as alterações, vamos apertaro botão “Preview” e ver como ficou
nosso relatório de produtos.
Programação Visual
Unidade 07 – iReport - Introdução 30
Primeira Visão do RelatórioPerfeito!
Programação Visual
Unidade 07 – iReport - Introdução 31
Explicações
• O relatório funcionou bem!
• Dos cinco registros existentes no nosso banco de dados, só foram mostrados apenas 4, pois, a nossa sentença SQL filtrou somente os produtos que tivessem “preço > 2”.
Programação Visual
Unidade 07 – iReport - Introdução 32
Melhorias
• Poderíamos ter feito outros ajustes, por exemplo: a largura dos campos.
• Poderíamos também, ter mudado a imagem da folha pelo logotipo do supermercado.
• Etc.
Programação Visual
Unidade 07 – iReport - Introdução 33
Situações• Poderíamos ter escrito a seguinte sentença SQL da
seguinte maneira:
• select codigo, nome
from “Produto”
where preco > 100
• Esta sentença não nos retornaria nenhum registro, pois, o maior preço de produto cadastrado em nossa base de dados é 5.5.
• Numa situação como está, um “Preview” de nosso relatório nos retornaria a mensagem:
Programação Visual
Unidade 07 – iReport - Introdução 34
Criando Relatórios sem Wizard
Programação Visual
Unidade 07 – iReport - Introdução 35
Começando...
• Primeiramente, não se esqueça de executar os passos 1 e 2 já explicados neste tutorial.
Programação Visual
Unidade 07 – iReport - Introdução 36
Criando Manualmente• Ao clicarmos no
“Step 2” da aba de apresentação do iReport, nos será mostrada a tela à direita.
• Então escolha um tema e clique no botão “Open this Template”.
Para este tutorial,escolhemos este
tema.
Programação Visual
Unidade 07 – iReport - Introdução 37
Visão do Tema Escolhido
Mesmo escolhendo um tematotalmente branco, o iReportjá coloca as devidas divisõesno projeto de relatório parafacilitar a construção deste.
Programação Visual
Unidade 07 – iReport - Introdução 38
Conhecendo o Relatório
• Como podemos ver no slide anterior, um relatório se divide em 7 partes:– Título (Title),– Cabeçalho de Página (Page Header),– Cabeçalho de Coluna (Column Header),– Detalhe (Detail 1),– Rodapé de Coluna (Column Footer),– Rodapé de Página (Page Footer) e– Sumário (Summary).
Programação Visual
Unidade 07 – iReport - Introdução 39
Funcionamento de Cada Parte• Título:
– só aparece na primeira página do relatório;– é a primeira parte a ser impressa.
• Cabeçalho de Página:– aparece em todas as páginas do relatório;– na primeira página, vem logo após o título.
• Cabeçalho de Coluna:– é impresso uma vez por conjunto de dados a
serem impressos (dados que serão impresso no “detalhe”) ou no caso de quebra de página;
– vem sempre depois do “cabeçalho de página”.
Programação Visual
Unidade 07 – iReport - Introdução 40
Funcionamento de Cada Parte
• Sumário:– é a última parte do relatório a ser impressa;– só aparece uma vez em cada relatório.
Programação Visual
Unidade 07 – iReport - Introdução 41
Como Construir Um Relatório• Não tem segredo!
• O funcionamento semelhante ao de se construir uma tela, no NetBeans, usando componentes Swing.
• Drop and Down: você escolhe o componente na paleta de componentes do iReport e arrasta até o relatório. Depois é só alterar as propriedades do componente, na paleta de propriedades.
Programação Visual
Unidade 07 – iReport - Introdução 42
Importante!
• Antes de começar a construir seu relatório, sempre defina a base de dados e as sentenças SQL que filtrarão os dados que serão impressos.
• Isto facilitará sua vida na hora de construir o lay-out do relatório.
Programação Visual
Unidade 07 – iReport - Introdução 43
Arrastamos e Colamos, Relatório Construído!
Cria conexão comuma base de dados
pré-existente.
Mostra xml do relatório.
Paleta do iReportque apresenta to-dos os componen-
tes do relatório.
Compila orelatório.
Paleta dePropriedades
doscomponentes
do iReport.
Saída demensagens
de compilaçãodo iReport.
Define a base dedados a que será
utilizada no relatório.Mostra preview do relatório com dados.
Paleta decomponentes
do iReport.
Programação Visual
Unidade 07 – iReport - Introdução 44
Exemplo 01 - Relatório Produtos
• Relatório de Produtos
Programação Visual
Unidade 07 – iReport - Introdução 45
Adicionando Relatórios ao Projeto
de
Software
Programação Visual
Unidade 07 – iReport - Introdução 46
Como Fazer?• Vá até a pasta onde se encontram os arquivos do
projeto. No NetBeans é a pasta “src”.
• Crie uma pasta com o nome de “relatorios” (a falta do acento é proposital, pois, caracteres especiais podem causar problemas quando há troca de sistemas operacionais.).
• Copie os arquivos do relatório para esta pasta. Os arquivos devem ter a extensão “.jrxml”. O ideal é que você já os crie nesta pasta, pois, assim evita-se o trabalho de ter que ficar trocando-os de lugar.
Programação Visual
Unidade 07 – iReport - Introdução 47
Meio Caminho Andado!
• Bem, se você criou a pasta “relatorios” dentro da pasta “src” do projeto, supõe-se que você já tenha um software que funcione e que só esteja faltando os relatórios. Correto?
• Então vamos lá!
Programação Visual
Unidade 07 – iReport - Introdução 48
Utilizando o Relatório Criado• Para usarmos o relatório criado, devemos antes
de mais nada, adicionar ao nosso projeto algumas bibliotecas do Jasper iReport.
• São elas:– commons-beanutils-1.8.2.jar– commons-collections-3.2.1.jar– commons-digester-1.7.jar– commons-logging-1.1.jar– groovy-all-1.5.5.jar– iText-2.1.7.jar– jasperreports-3.7.4.jar– poi-3.5-FINAL-20090928.jar
Programação Visual
Unidade 07 – iReport - Introdução 49
Onde Encontrar as Bibliotecas?
• As bibliotecas vêm com a instalação do iReport, você as achará em:
...\Jaspersoft\iReport-3.7.4\ireport\modules\ext
Programação Visual
Unidade 07 – iReport - Introdução 50
Como Adicionar as Bibliotecas ao Projeto?
• No NetBeans, siga os passos:– clique com o botão direito do mouse sobre o
nome do projeto;– no menu que aparecer, escolha a opção
“Propriedades”. Será aberta a tela:
Programação Visual
Unidade 07 – iReport - Introdução 51
Como Adicionar as Bibliotecas ao Projeto?
– no campo “Categorias”, escolha “Bibliotecas” (Libraries);
– em seguida clique no botão “Add Jar/Folder”;
Programação Visual
Unidade 07 – iReport - Introdução 52
Como Adicionar as Bibliotecas ao Projeto?
– na janela que se abrir, navegue até a pasta correta e selecione os arquivos (bibliotecas) relacionados alguns slides atrás.
• Pronto!
• Pode ser que você não precise de todas estas bibliotecas, mas, como elas são as mais comuns de serem utilizadas, é sempre bom tê-las adicionadas ao projeto.
Programação Visual
Unidade 07 – iReport - Introdução 53
Exemplo
• Para exemplificar a utilização do iReport, foi construído um software de cadastro de Produtos para o almoxarifado do IFTM.
• Este software possui duas telas, uma de visualização e outra de edição de dados. Utiliza banco de dados PostgresSQL.
• As demais explicações serão dadas diretamente no código-fonte apresentado.
Programação Visual
Unidade 07 – iReport - Introdução 54
Cadastro de Produtos
• Estrutura do Projeto:
Programação Visual
Unidade 07 – iReport - Introdução 55
Banco de Dados
• Geração das Tabelas:
– Script para Geração da Tabela Utilizada no ProjetoRelatorio
Programação Visual
Unidade 07 – iReport - Introdução 56
Código-fonte• Parte 01 - O Relatório Final Impresso Em Arquivo
• Parte 02 - Classe Principal
• Parte 03 - Classe Produto
• Parte 04 - Classe ConFactory
• Parte 05 - Classe DaoProduto
• Parte 06 - Classe NewTableModel
• Parte 07 - Classe GerenciaProdutos
• Parte 08 - Classe ManipulaRegistro
• Parte 08 - GUI da Classe ManipulaRegistro
• Parte 09 - Classe VisaoDeProdutos
• Parte 09 - GUI da Classe VisaoDeProdutos
• Parte 10 - GUI do Projeto do Relatório
Programação Visual
Unidade 07 – iReport - Introdução 57
BibliografiaJASPERSOFT COMMUNITY. iReport Designer. Disponível em: <http://community.jaspersoft.com/wiki/ireport-
designer-v470-download> Acesso em: 08 nov. 2012.
● MACEDO, Alexandrre. Relatórios em Java – JasperReports e iReport. Disponível em: <http://www.k19.com.br/artigos/relatorios-em-java-jasperreports-e-irepor/> Aceso em: 20 nov. 2012.
• MARINHEIRO, Weillington. Gerando Relatórios com iReport e Java. Disponível em: <http://codigofonte.uol.com.br/artigo/java/gerando-relatorios-com-ireport-e-java/imprimir> Acesso em: 23 out. 2012.
• ORACLE. Interface TableModel. Disponível em: <http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/table/TableModel.html> Acesso em: 27 nov. 2012.
• SALIBA JÚNIOR. Edwar. Exmplo: Conexão do NetBeans com Postgre SQL!. Disponível em: <http://javafree.uol.com.br/artigo/877101/Exemplo-Conexao-do-NetBeans-com-Postgre-SQL.html> Acesso em: 15 nov. 2012.
• SIQUEIRA, Willian Antônio. Acessando Dados com Java: 1a. Parte – Simples Dao. Disponível em: <http://javafree.uol.com.br/artigo/874102/Aplicativo-Java-com-acesso-a-banco-de-dados-1%C2%BA-parte-Dao.html> Acesso em: 20 nov. 2012.
• QUEIROZ, Misael Barreto. NetBeans 6.8 + iReports. Dispnível em: <http://www.guj.com.br/java/214122-netbeans-68--ireports> Acesso em: 19 nov. 2012.
• YUZO, Erick. Exemplo de TableModel. Disponível em: <http://www.guj.com.br/java/225793-exemplo-de-tablemodel> Acesso em: 27 nov. 2012.
Top Related