Anda di halaman 1dari 41

Gera ca o de Relat orios em JAVA com JasperReports e Ireport

Aline Mendon ca da Silva, Lais Candido Rodrigues da Silva Lopes, Mikaely Cruciol Silva Gomes August 11, 2012

Abstract This technical report aims to show a step by step how to generate reports using JasperReports and iReport tools, as well as the facilities granted by them. JasperReports is a library written in Java that allows great skill and ease in creating the report. In turn the IReport is a graphical editor for the library mentioned above, which allows the creation of the report design in a graphical environment. The use of two tools to facilitate the generation of reports of simple and eective way. Some of the features, details and forms of use, these respective tools will argue throughout this text.

Keywords: JasperReports, IReport, Report and JAVA. Resumo O presente relat orio t ecnico, tem por objetivo mostrar um passo
a passo de como gerar relat orios usando as ferramentas JasperReports e Ireport, bem como as facilidades concedidas por estas. O JasperReports e uma biblioteca escrita em JAVA que permite grande habilidade e facilidade na cria c ao de relat orio. Por sua vez o IReport e um editor gr aco para a biblioteca acima citada, que permite a cria c ao do design do relat orio dentro de um ambiente gr aco. O uso de ambas ferramentas visa facilitar a gera c ao de relat orios de forma simples e ecaz. Alguns dos aspectos, detalhes e formas de uso, destas respectivas ferramentas, ser ao discutas no decorrer deste texto.

Palavras-Chave: JasperReports, IReport, Relat orio e JAVA.

0.1

Introdu c ao

A Tecnologia da Informa c ao tem desempenhado um importante papel na sociedade. Pessoas e organiza c oes cada dia mais, utilizam softwares e sistemas para auxiliar em suas tarefas. Sistemas n ao s o funcionais, mas, que ofere cam usabilidade aos seus usu arios s ao cada vez mais desejados. Durante a modelagem de uma interface v arios fatores devem ser levados em conta [2], e a forma que o sistema apresenta os resultados para o usu ario deve ser a mais simples poss vel. Um relat orio tem por fun c ao exibir resultados totais ou parciais extra dos de alguma base de dados. Ele e uma importante ferramenta de intera c ao com o usu ario nal, da a import ancia de relat orios bem feitos e concisos. V arias plataformas de desenvolvimento de software d ao suporte a t ecnicas para a apresenta c ao das informa c oes ao usu ario de forma mais elegante e entend vel, no entanto, na maioria das vezes n ao s ao exiveis e possuem um certo grau de diculdade para serem implementadas, como exemplo pode-se citar o uso de tabelas.Vale lembrar que algumas dessas t ecnicas n ao s ao destinadas para a impress ao que e outra caracter stica relevante dos relat orios.

Existem algumas ferramentas que auxiliam no processo de gera c ao de relat orios. Antes dominado por ferramentas propriet arias, como o Crystal Reports, Quick Reports e DataWindow, hoje no mercado e poss vel encontrar ferramentas open-source como o JasperReports e IReport, que s ao as tecnologias escolhidas para desenvolver o presente relat orio t ecnico. A nalidade deste relat orio t ecnico e dar uma vis ao geral sobre as duas ferramentas acima citadas e desenvolver um passo a passo de como utiliz a-las para gerar relat orios na linguagem JAVA J2SE [4]. Para melhor entendimento, este relat orio est a dividido nas seguintes se c oes: na se c ao 2, as ferramentas JasperReports e IReports s ao descritas e denidas, na se c ao 3, h a um pequeno tutorial de como instal a-las e congur a-las, na se c ao 4 h a a demonstra c ao de um exemplo, de como gerar um relat orio usando as ferramentas j a citadas e, na se c ao 5 s ao feitas algumas considera c oes nais sobre o desenvolvimento deste relat orio t ecnico.

0.2

JasperReports e IReports, o que s ao ?

Antes de se colocar as m aos na massa, e importante o entendimento te orico das ferramentas que ser ao utilizadas no decorrer deste relat orio t ecnico. A ferramenta que realmente permite a gera c ao de relat orios em diversos formatos como o PDF, HTML, XLS e outros e o JasperReports. JasperReports e uma biblioteca escrita em JAVA que apresenta grande habilidade na organiza c ao e apresenta c ao de cont eudo [7], o que permite o desenvolvimento de relat orios de forma organizada e f acil. Atrav es dele e poss vel acessar diferentes fontes de dados, podendo acessar diretamente um banco de dados relacional ou receber uma cole c ao de objetos (no padr ao Java Beans), entre outros [6]. O design do relat orio, incluindo a localiza c ao dos campos, nome e outras propriedades necess arias para um futuro mapeamento, s ao denidas em um arquivo XML [5] atrav es de tags que obedecem a uma estrutura, no caso um arquivo DTD (jasperreports.dtd). Esse arquivo recebe a extens ao .jrxml, que quando passa por um processo de compila c ao gera um arquivo .jasper, que por sua vez e interpretado pela engine do JasperReports. O Ireport e um editor gr aco para a biblioteca JasperReport, ele permite a cria c ao do design do relat orio dentro de um ambiente gr aco que cont em os recursos oferecidos pela biblioteca acima mencionada. Essa ferramenta da suporte a pr e-visualiza ca o do relat orio, sendo poss vel a execu c ao de testes, o que diminui a probabilidade de um resultado nal n ao esperado, e poss vel tamb em gerar relat orios mais complexos e elaborados sem ter quer manipular a linguagem XML diretamente. Possui duas op c oes para entrada de informa c ao no relat orio: a primeira e por acesso direto ao banco de dados e a segunda se d a atrav es da inclus ao de uma lista de objetos no relat orio [3].

0.3

Download e instala c ao das ferramentas

Existem algumas pr e condi c oes antes de iniciar o dowload das ferramentas, e necess ario a instala c ao de algum ambiente de desenvolvimento e um servidor de banco de dados, o presente relat orio foi feito usando a IDE Netbeans 7.0.1 e o servidor de banco de dados MySql, vers ao 3.4.5. Quanto as ferramentas JasperReports e Ireports, podem ser baixadas no seguinte endere co: http://sourceforge.net/projects/ireport/les/iReport%20Plugin%20for%20 NetBeans/ ,no presente link ser a pedido que se selecione a vers ao desejada, a u ltima vers ao at e a data de confec c ao deste relat orio e 4.6.0, que e a vers ao utilizada por este. Selecionada a vers ao a p agina e redirecionada e o download inicia em poucos segundos. O arquivo a ser baixado trata-se do pacote completo, ou seja, tanto a biblioteca JasperReports, quanto o editor gr aco Ireport j a est ao presente. Terminado o download desempacote o arquivo baixado, note que ser ao apresentados quatro arquivos de extens ao .nbm (NetBeans Module). Esses arquivos s ao os pacotes dos plugins que ser ao instalados no NetBeans. Com o NetBeans aberto v a ao menu Ferramentas e escolha a op c ao plug-ins , na tela que se abre selecione a op c ao Baixados e em seguida Adicionar plug-ins ... veja a gura abaixo:

Figure 1: Adicionar plug-ins Ao clicar no bot ao Adicionar plug-ins ... uma caixa de di alogo ser a aberta, nela navegue at e a pasta que foi extra da, abrindo-a selecione os 3

quatro arquivos .nbm e clique em Ok, veja na gura abaixo:

Figure 2: Selecionando plug-ins Em seguida, a janela do gerenciador de plugins ser a exibida com os quatro pacotes selecionados. Mantenha os pacotes selecionados e clique em Instalar. Automaticamente a instala c ao vai se iniciar, no primeiro passo do instalador marque a op c ao Concordo e clique no bot ao Next. Aguarde at e que a instala c ao termine. Caso seja pedido reinicie a IDE.

0.4

Gerando um exemplo

Agora que o Ireport foi instalado, ser a dado um passo a passo de como gerar relat orios a partir de uma base de dados. Para melhor entendimento, esta se c ao foi subdivida nas seguintes: se c ao 4.1, que mostra como adicionar e congurar as bibliotecas necess arias para gerar um relat orio, se c ao 4.2, que exibe e explica, a estrutura do banco de dados que ser a usada para gerar os relat orios deste tutorial e se c ao 4.3 que faz um pequeno projeto e a partir deste gera um relat orio, sempre comentando e mostrando os passos a serem seguidos.

0.4.1

Congurando as Bibliotecas

Por quest oes de organiza c ao ser a criado um novo projeto no NetBeans. Com o NetBeans aberto clique no menu Arquivo e selecione a op c ao Novo Projeto. Dena o tipo do projeto como Aplicativo Java, e em seguida clique no bot ao Pr oximo veja como na gura abaixo: 4

Figure 3: Criando uma nova aplica c ao Na tela que se abre, no campo Nome do Projeto preencha com PrimeiroRelatorio, em Localiza c ao do Projeto escolha onde o projeto ser a salvo e no campo abaixo marque a op c ao Usar pasta dedicada para armazenar bibliotecas, essa op c ao faz com que todos os arquivos .jar quem armazenados dentro do diret orio lib. Termine de preencher conforme mostra a gura abaixo, e em seguida clique em Finalizar :

Figure 4: Criando uma nova aplica c ao Com o projeto j a nalizado, e hora de adicionar o JasperReports e suas depend encias ao projeto, al em de organizar a estrutura do projeto para guardar os relat orios. Primeiro vamos tratar dos .jars. Ao instalar os plugins do pacote do IReports, uma biblioteca padr ao com os .jars e criada, mas ela vem com alguns erros [1], sendo necess ario a cria c ao de uma biblioteca pr opria. Para tanto, expanda o n o raiz do projeto e procure por Biblioteca, em seguida clique com o bot ao direito e escolha a op c ao Adicionar biblioteca....

Figure 5: Adicionando uma nova biblioteca Feito isso uma nova janela e aberta, como a inten c ao agora e de criar um nova biblioteca, clique no bot ao do lado direito entitulado Criar... :

Figure 6: Criando uma nova biblioteca

Agora um novo di alogo e exibido, pedindo algumas caracter sticas da nova biblioteca a ser criada. No campo Nome da biblioteca, preencha com JasperReports-4.6.0, caso esteja trabalhando com alguma outra vers ao basta mudar o n umero da vers ao. Em Tipo da biblioteca escolha a op c ao Bibliotecas de classe. Depois de preencher conforme foi pedido basta clicar no bot ao Ok, caso haja d uvida olhe na gura abaixo:

Figure 7: Congurando uma nova biblioteca Em seguida aparecer a outro di alogo pedindo algumas congura c oes, clique no bot ao Adicionar JAR/pasta... .

Figure 8: Congurando uma nova biblioteca nessa nova tela que ser E ao adicionados os .jars que v ao compor a nova biblioteca. Procure pelo diret orio onde a instala c ao do NetBeans foi feita e encontre as pastas libs e modules. Caso o sistema operacional utilizado seja da fam lia Microsoft Windows, provalvelmente a pasta libs estar a

em C:\Usu arios\nome-de-usuario\.netbeans\versao-do-netbeans, caso utilize um sistema operacional UNIX a pasta libs ser a encontrada em /home/nomede-usuario/.netbeans/vers ao-do-netbeans. Entre na pasta libs, dentro dela dever a existir apenas um arquivo denominado xalan.jar, selecione-o e clique em Adicionar JAR/pasta :

Figure 9: Selecionando o xalan.jar Quando o bot ao for clicado aparecer a um di alogo perguntando se realmente o usu ario quer criar uma nova pasta dentro da pasta libs. Basta responder que sim conforme mostra a gura abaixo:

Figure 10: Criando um novo diret orio para o xalan.jar Depois de ter dado ok para a cria c ao da nova pasta, a janela Personalizar biblioteca voltar a a gurar, s o que dessa vez com o xalan.jar adicionado. Agora e a hora de adicionar os .jars contidos na pasta modules, mas cuidado somente alguns ser ao selecionados. Primeiro clique em Adicionar 9

JAR/pasta..., depois navegue para a pasta modules. Provavelmente a pasta modules estar a pr oxima ` a pasta libs, apenas por quest oes de orienta c ao, siga o seguinte caminho caso o sistema operacional usado seja da fam lia Microsoft Windows C:\Usu arios\nome-de-usuario\.netbeans\vers ao-do-netbeans, e o seguinte caminho caso o sistema operacional utilizado seja UNIX /home/nomede-usuario/.netbeans/vers ao-do-netbeans. O pr oximo passo e selecionar e acessar a pasta modules, dentro dela existir a alguns arquivos e pastas, selecione a pasta ext que cont em alguns .jar, em seguida adicione todos os .jars clicando no bot ao Adicionar JAR/pasta..., veja a gura abaixo:

Figure 11: Selecionando os .jars da pasta ext Novamente a janela Personalizar biblioteca aparecer a, s o que agora mostrando todos os .jars inseridos. Clique em Ok. A janela Adicionar biblioteca ser a reexibida e mostrar a a nova biblioteca criada, selecione-a e clique em Adicionar biblioteca.

10

Figure 12: Selecionando a nova biblioteca Automaticamente a nova biblioteca criada ser a adicionada ao projeto PrimeiroRelatorio, para ach a-las basta exandir o n o bibliotecas.

11

Figure 13: Novas bibliotecas adicionadas

0.4.2

Criando uma base de dados

Agora com as bibliotecas j a criadas e conguradas e hora de dar continuidade ao relat orio. Para manter o projeto organizado ser a solicitado a cria c ao de um diret orio, ele servir a para abrigar as deni c oes dos relat orios que ser ao criados. Clique com o bot ao inverso no n o raiz do projeto e escolha propriedades, a seguinte tela ser a aberta:

12

Figure 14: Propriedades do projeto Nessa tela selecione C odigos-fonte e em seguida clique em Adicionar pasta... .

13

Figure 15: Propriedades do projeto Feito isso, uma nova janela e aberta. Nela clique no bot ao para criar uma nova p agina, esse bot ao ca localizado no canto superior direito da tela. Automaticamente uma nova pasta e criada, agora basta renome a-la para algum nome que fa ca mais sentido, nesse caso o seu novo nome ser a relatorios. Depois de renomeada selecione-a, em seguida clique em Ok

14

Figure 16: Criando um novo diret orio A tela de Propriedades do projeto novamente e exibida, dentro de Pastas de pacotes de c odigo fonte existem duas colunas, clique duas vezes na segunda coluna denominada R otulo, e renomeie o nome que l a est a escrito para Relat orios em seguida tecle enter. Agora clique em Ok.

15

Figure 17: Propriedades do projeto Se tudo tiver dado certo, o novo diret orio ser a exibido na estrutura do projeto PrimeiroRelatorio, sendo que ele ser a identicado pelo r otulo dado a ele no passo anterior. A gura abaixo demostra como ca:

16

Figure 18: Primeiro relat orio Assim as congura c oes das bibliotecas necess arias para gerar relat orios s ao terminadas. O pr oximo passo agora e criar um projeto simples, bem como uma base de dados. A gura abaixo mostra o banco de dados que ser a usado, trata-se de uma agenda, para represent a-la foram criadas tr es tabelas: Usuario que armazena informa c oes sobre um usu ario da agenda; Contato armazena dados sobre um contato da agenda, cada usu ario pode ter nenhum ou v arios contatos armazenados; Compromisso guarda informa c oes sobre as caracteristicas de um dado compromisso, cada usu ario pode ter nenhum ou v arios compromissos associados ao seu nome. A gura 19, d a uma vis ao geral de como o banco de dados est a estruturado. Em seguida crie o banco de dados, para tanto siga a gura 20.

17

Figure 19: Estrutura do banco de dados

Figure 20: Criando a base de dados Com a base de dados criada e hora de criar as tabelas, siga as guras 21 e 22 para criar as estruturas das tabelas, essas guras podem ser transcritas para um servidor de banco de dados diretamente, ou em um arquivo com extens ao .sql e ao nal ser importada para o servidor na forma de script.

18

Figure 21: Estrutura da tabela Usuario e Compromisso

Figure 22: Estrutura da tabela Contato Com as estruturas das tabelas criadas, e hora de inserir dados, os dados s ao ct cios, caso deseje pode-se criar seus pr oprios dados, para fazer as inser c oes use um servidor de banco de dados ou importe o script com extens ao .sql, abaixo est ao os dados sugeridos:

19

Figure 23: Dados da tabela Usuario e Compromisso

Figure 24: Dados da tabela Contato

20

0.4.3

Gerando relat orio

Agora que as bibliotecas foram conguradas e o banco de dados denido, e hora de nalmente gerar relat orios usando o JasperReports e a ferramenta IReport. Volte ao NetBeans e carregue o projeto feito no inicio deste tutorial. Com o projeto aberto, expanda o n o Relat orios, dentro dele h a um pacote v azio, denominado de pacote padr ao, vai ser nele que os c odigos dos relat orios car ao. Clique com o bot ao direito sobre o pacote, nas op c oes que se abrem selecione Novo, ser ao exibidas novas op c oes, nestas selecione Outros.... Feito isso uma nova janela e aberta. Perceba que nela h a duas janelas menores denominadas de Categorias e Tipos de arquivos. Na janela Categorias selecione a o op c ao Report (provavelmente ser a a primeira op c ao), em seguida na janela Tipos de arquivos selecione a op c ao Empty report ou seja relat orio vazio, clique agora em Pr oximo, veja a gura abaixo:

Figure 25: Novo arquivo Na nova tela que se abre, no campo Nome do arquivo d e um nome para o relat orio, como a inten c ao do presente tutorial e dar um exemplo simples, ser a feito um relat orio com todos os usu arios da base de dados Agenda, por isso o campo ser a preenchido com Usuarios. Nos outros campos n ao e necess ario nenhuma congura c ao, apenas verique que os campos Projeto e Localiza ca o estej ao com o valor PrimeiroRelatorio, em seguida clique em Finalizar. Veja como na gura abaixo:

21

Figure 26: Novo empty report Ao clicar em nalizar, o arquivo de c odigo fonte do relat orio ser a criado (Usuarios.jrxml) e aberto na interface de edi c ao do relat orio. E nessa interface que se insere e posiciona os campos, mas isso car a para mais tarde. Antes de dar inicio ` as congura c oes, e necess ario fazer uma conex ao com o banco de dados que ser a usado. Para tanto procures pelo bot ao indicado na gura abaixo:

Figure 27: Bot ao Report Datasource O bot ao selecionado na gura abaixo tem a fun c ao de congurar um novo ou j a existente DataSource, ou seja, congurar a fonte de onde os dados vir ao. Clique nele, automaticamente surgir a uma nova janela, com os dataSources que j a foram congurados, provavelmente se esse for o seu primeiro contato com as ferramentas (JasperReports e IReports), aparecer a por padr ao apenas o dataSource Empty data source. Selecione o bot ao do lado direito entitulado New, pois agora ser a iniciada a cria c ao de um dataSource para a base de dados Agenda.

22

Figure 28: Congurando um novo dataSource nessa janela que se Ao clicar em New uma nova janela e aberta. E escolhe o tipo da fonte de dados que ser a usada, como foi dito no inicio deste relat orio t ecnico, o JasperReports suporta diferentes fontes de dados, n ao apenas banco de dados, como muitos pensam, mas tamb em, arquivos XML, cole c oes do JAVA e outras. Como o objetivo deste relat orio e de gerar relat orios tendo como base um banco de dados relacional (Agenda), a op c ao a ser escolhida nessa tela e a primeira Database JDBC connection, em seguida clique em Next.

23

Figure 29: Escolhendo o tipo de fonte de dados A janela que se abre pede algumas informa c oes sobre a fonte de dados que foi selecionada no passo anterior. Primeiro preencha o campo Name com Agenda-JDBC, que e o nome da fonte de dados que estamos congurando, em seguida no campo JDBC Driver busque pelo drive do MySql (Gerenciador de banco de dados usado neste relat orio), deve ser algo parecido com MYSQL (com.mysql.jdbc.Driver). No campo JDBC Url e pedido o endere co do banco de dados que vai ser usado, preencha com jdbc:mysql://localhost/Agenda, os dois pr oximos campos, Server Adrress e Database n ao ser ao preenchidos, pois eles s o s ao ut eis quando se deseja acionar o wizard, o que n ao e nosso caso. O campo em seguida, solicita o nome do usu ario usado para acessar o banco de dados, ent ao no campo Username preencha com root, mas, caso o nome de usu ario seja outro preencha com ele. O u ltimo campo e o Password que deve ser preenchido com a senha do usu ario mencionado acima, a gura abaixo mostra como a tela car a ao nal, a senha est a em branco pois o usu ario do banco de dados da m aquina local e em branco. A op c ao Save password serve para salvar o password, mas a sua sele c ao ou n ao ca a crit erio. Com tudo preenchido clique em Salvar.

24

Figure 30: Congurando a fonte de dados Depois de salvo e encerrado a janela anterior voltar a a gurar na tela, note que agora ela j a apresenta a fonte de dados congurada no passo anterior, perceba tamb em que ela j a est a marcada como default. N ao e necess ario realizar nenhuma altera c ao nessa tela, basta clicar em Close. Perceba que agora o combobox que mostra as datasource est a marcando a fonte de dados congurada a pouco. E essa fonte de dados que ser a usada para executar as queries e exibir o relat orio, mas, ela e usada somente durante o desenvolvimento do relat orio. Quando o relat orio for colocado para ser aberto no programa a fonte de dados ter a que ser passada programaticamente. Veja abaixo como dever a car a combobox:

Figure 31: Combobox com a fonte de dados Agenda selecionada Com a fonte de dados congurada e hora de iniciar o processo de fabrica c ao do relat orio. Oriente-se pela gura abaixo, e clique no bot ao destacado de vermelho. Esse bot ao, tem a funcionalidade de editar a query SQL que ser a usada para buscar dados na fonte de dados, nesse caso banco de 25

dados Agenda.

Figure 32: Localizando o bot ao para editar a query Quando o bot ao for pressionado, a seguinte tela aparecer a:

Figure 33: Escolhendo o tipo de fonte de dados nessa janela que vai car armazenada a consulta para gerar o relat E orio. Como o intuito dessa primeira pesquisa e de apenas listar os usu arios da agenda, ou seja, o cont eudo da tabela Usuario, a query que vai ser usada e a seguinte: SELECT * FROM Usuario, pois assim todos os campos da tabela Usuario ser ao exibidos. Na tela que est a aberta, no primeiro quadro, insira a consulta mostrada acima. Perceba que assim que terminar de digitar a consulta, automaticamente os campos da tabela Usuario e suas propriedades ser ao carregados em um quadro abaixo. Para que isso aconte ca certique-se de que a caixa de sele c ao Automatically Retrieve Fields esteja selecionada. Oriente-se pela gura abaixo:

26

Figure 34: Congurando a query Caso prera, ainda h a uma outra forma de criar consultas SQL. Nessa mesma tela clique no bot ao Query designer. Na janela que se abre note a exist encia das tabelas do lado esquerdo inferior, para gerar a consulta d e duplo clique no cone da tabela que gostaria de selecionar, automaticamente ela surge do outro lado da tela, com todos os campos selecionados, basta deselecion a-los caso n ao queira que algum campo apare ca. A tabela abaixo, mostra a consulta equivalente feita na janela anterior, clique em Ok para nalizar a tela.

Figure 35: Congurando a query em modo gr aco 27

Depois de fechada, a janela anterior voltar a a gurar na tela. Olhe no quadro onde as consultas SQLs s ao inseridas, e perceba que ela foi preenchida automaticamente com base na tela anterior. Feito isso clique em Ok. Agora e hora de inserir os campos da consulta no espa co de edi c ao do relat orio. Procure pela aba Report Inspector, e expanda o n o Fields para pegar os campos.

Figure 36: Localizando o campo Fields Agora basta clicar e arrastar o campo para a tela de edi c ao do relat orio, esses campos ser ao os campos que realmente aparecer ao no relat orio. Um detalhe importante e que a tela de edi c ao do relat orio possui algumas divis oes, os campos devem ser arrastados para a banda Detail.

28

Figure 37: Inserindo campos na tela de edi c ao do relat orio Perceba que assim que o campo e arrastado para Details e inserida uma caixa de texto nesta mesma banda, e na banda Column Header e inserido uma outra caixa de texto. A caixa de texto que est a em Details possui um F no inicio, o que indica o uso de um campo do banco de dados, essa caixa de texto n ao deve ser alterada, pois est a ligada com o campo do banco de dados. A segunda caixa de texto, que est a na banda Column Header e como se fosse um label, podendo ser alterado conforme a necessidade do relat orio. Ainda h a a possibilidade de arrastar os campos, e deixar conforme desejado, desde que n ao extrapole as bandas nas quais est ao inseridos. Agora e a hora de ver como o relat orio ir a car, para tanto procure por uma aba entitulada Preview, aguarde um momento, caso seja pedido a senha insira e aperte enter. Veja na gura abaixo o preview do relat orio:

29

Figure 38: Preview do Relat orio Para sair desta tela clique na aba Designer. Agora e hora de incrementar o relat orio. Volte para a janela de edi c ao do relat orio, v a novamente na aba Report Inspector, expanda o n o Fields e adicione mais campos na aba Details. Adicione os seguintes campos endere co, email e telefone, na paleta, procure pelo campo label Static Text clique e arraste para a banda Title, em seguida d e um duplo clique nele e mude o valor para Usu arios da Agenda. Uma dica e diminuir o tamanho das bandas, para tanto basta clicar nas linhas e arrast a-las. Selecione Preview e veja o resultado.

30

Figure 39: Preview do Relat orio Clique novamente em Designer para voltar ` a tela anterior. Para deixar o relat orio um pouco mais agrad avel e personalizado, perceba que na paleta, (caso n ao esteja visualizando, v a em Janelas e escolha a op c ao Paleta ) h a alguns componentes que podem ser inseridos no relat orio, conforme for desejado. Na paleta ent ao, selecione na subse c ao Tools, o componente Current date, que serve para mostrar no relat orio a data em que o mesmo foi gerado, clique nele e arraste para o canto superior do lado direito. Ainda na paleta, h a uma outra se c ao chamada de Report Elements, nela procure por image, clique e arraste para a area de edi c ao do relat orio, aparecer a uma tela pedindo a localiza c ao da imagem, d e a localiza c ao e clique em Ok. Quando a imagem aparecer no relat orio, estar a envolta por um quadrado, para redimension a-la basta clicar e arrastar. Feito isso clique em preview novamente e veja o resultado.

31

Figure 40: Preview do Relat orio Agora que j a foi dada uma pequena introdu c ao, de como manusear a ferramenta gr aca, para gerar relat orios, e hora de fazer esse relat orio ser gerado por um programa. Caso contr ario, n ao h a utilidade para ele. Anteriormente, quando o relat orio come cou a ser congurado, foi solicitado uma fonte de dados para ele, pois bem assim como acontece com o relat orio, tamb em acontece com o programa, e necess ario congurar uma fonte de dados para ele, s o que neste caso a fonte e uma conex ao (java.sql.connection) com o banco de dados desejado. Para tanto ser a criada uma f abrica de conex oes. Essa f abrica ser a uma classe com o nome de ConnectionFactory. Para come car a constru c ao, no canto superior esquerdo da aba Projetos do NetBeans, procure por pacotes de c odigo fonte e expanda-o, dentro dele dever a haver um pacote chamado de primeirorelatorio. Clique com o bot ao inverso em cima do pacote e escolha a op c ao novo pacote java, na tela que se abrir, preencha o campo Nome do pacote com jdbc. Agora que o pacote jdbc foi criado, clique nele com o bot ao inverso e escolha a op c ao Nova classe java, insira ConnectionFactory no campo Nome da classe. A gura abaixo demonstra como dever a car a hierarquia no NetBeans:

32

Figure 41: Preview do Relat orio O pacote jdbc foi solicitado apenas para deixar o projeto mais organizado, e f acil de se enteder. Agora com a classe ConnectionFactory criada, e hora de come car a codicar as guras 42 e 43, mostram o c odigo que deve estar contido na classe. O c odigo est a comentado, na tentativa de auxiliar na compreens ao.

Figure 42: C odigo da classe ConnectionFactory parte I

33

Figure 43: C odigo da classe ConnectionFactory parte II Ser a atraves do m etodo getAgenda que a conex ao com o banco de dados ser a rmada. Repare que e nessa classe que o local onde est a o banco de dados, o usu ario e a senha s ao denidos. Apenas para ns de esclarecimento, essa classe e respons avel pela conex ao com o banco de dados. A pr oxima classe possui alguns m etodos utilit arios para gerar relat orios. Clique com o bot ao inverso sobre o pacote primeirorelatorio e escolha a op c ao Novo pacote java, na tela que se abre informe o nome do pacote como utils. Dentro do pacote criado crie uma classe com o nome de ReportUtils. As guras 44 e 45 mostram o c odigo que a classe deve conter.

Figure 44: C odigo da classe ReportUtils parte I 34

Figure 45: C odigo da classe ReportUtils parte II Agora e a hora de fazer o main. O m etodo main neste relat orio t ecnico, ca na classe PrimeiroRelatorio.java. Procure-a e insira o seguinte c odigo:

Figure 46: C odigo da classe PrimeiroRelat orio - m etodo main Nesta mesma classe, insira abaixo do m etodo main o c odigo da gura 46.

35

Figure 47: C odigo da classe PrimeiroRelatorio - m etodo abriRelatorioUsuario Feito isso a codica c ao termina, perceba que o relat orio ser a executado apartir da classe main. Por em antes de execut a-lo e necess ario adicionar o driver do MySql, que nada mais e do que uma biblioteca. Assim como foi feito na se c ao 4.1, e necess ario fazer para adicion a-lo tamb em. Mas ao inv es de fazer todo aquele processo na m ao, pode-se importar a biblioteca diretamente, uma vez, que ela j a est a congurada no NetBeans. Sendo assim, na aba Projetos clique com o bot ao inverso em Bibliotecas, no pequeno menu que aparece clique em Adicionar biblioteca. Uma nova tela e aberta, clique no bot ao Importar que est a do lado direito, uma lista de bibliotecas j a congurada aparecer ao, nesta procure por MYSQL JDBC Driver, selecione-a e clique em Importar Biblioteca. Assim a biblioteca do driver do MySql ser a importada para o projeto. Ela poder a ser vista na janela que aparece novamente. Selecione-a e clique em Adicionar biblioteca. Para compilar o projeto, tecle f6 sobre a classe main, ou Executar projeto principal. Logo o relat orio e exibido. Abaixo h a um outro exemplo, s o que agora usando uma interface para gerar o relat orio. Na aba Projetos, clique com o bot ao inverso em cima do pacote primeirorelatorio, e escolha a op c ao Novo Formul ario Jframe. Na tela que se abre preencha o campo Nome da classe com TelaRelatorio e clique em Finalizar. Uma area de edi c ao ser a aberta, na paleta busque pelo componente button e o insira na tela, d e duplo clique em cima dele e mude o texto para Imprimir relat orio. Caso queira colocar uma gura para ilustrar, ainda na paleta busque por Label, selecione-o e na aba Propriedades, busque por icon, uma nova janela e aberta, basta agora dar a localiza c ao da gura desejada. A gura 48, mostra como ca a tela:

36

Figure 48: Visual de TelaRelatorio Clique sobre o bot ao inserido a pouco (Imprimir relat orio ), na aba Propriedades perceba que h a quatro bot oes maiores, clique em Eventos. Uma lista ser a mostrada, veja a primeira op c ao actionPerformed, note que ao lado da escrita nenhum h a uma setinha, clique nela e na op c ao que vai aparecer logo em seguida, essa op c ao deve ser algo como JButton1ActionPerformed. A tela ser a redimensionada para o modo de c odigo. Dentro do espa co para o qual foi direcionado, insira o c odigo do m etodo abrirRelatorioUsuario que est a na classe PrimeiroRelatorio e o exclua desta, pois ele n ao ser a mais util l a. Veja como ca:

Figure 49: C odigo do JButton1ActionPerformed importante ressaltar que o c E odigo mostrado acima est a dento do JFrame TelaRelatorio, dentro do m etodo JButton1ActionPerformed que ser a executado quando o bot ao for pressionado. Na classe PrimeiroRelatorio, comente a linha que est a dentro m etodo main, pois como o m etodo abrirRelatorioUsuario n ao existe mais, n ao h a como cham a-lo. O que ela deve fazer agora, e chamar a TelaRelatorio, isso feito atraves de uma instancia c ao. Veja abaixo, como dever a car a classe main : 37

Figure 50: Novo c odigo da classe main Ok, agora e executar o projeto principal. Clique no bot ao de execu c ao e veja o projeto ser executado. Assim que o projeto inicia a execu c ao, a classe main, que e primeira a ser chamada, chama TelaRelatorio que e exibida, nela h a o bot ao Imprimir relat orio, que quando pressionado executa o c odigo necess ario para gerar o relat orio. Perceba que, quando o relat orio e mostrado na tela, ele oferece ao usu ario algumas tarefas:

Figure 51: Tarefas oferecidas Nessa, pode-se salv a-lo, ali as com formatos diferenciados, desde um .jrprint que e o seu formato, at e um .pdf. Outras tarefas oferecidas s ao impress ao, congura c ao do zoom da p agina e navega c ao para frente, para tr as quando h a mais de uma p agina. Quando desejar encerrar a execu c ao do programa basta fechar o relat orio, fechando-o a tela TelaRelat orio voltar aa gurar, restando apenas fech a-la.

0.5

Conclus ao

Atraves da confec c ao deste relat orio alguns estudos e testes foram feitos. Com estes o grupo pode perceber a riqueza das propriedades e fun c oes da biblioteca JasperReports, e a praticidade oferecida pela ferramenta gr aca IReport. Percebeu-se tamb em, que com o auxilio das duas ferramentas, a equipe obteve meios para desenvolver relat orios mais prossionais e entendiveis pelo 38

cliente ou usu ario nal. Outros pontos que valem a pena ser levantados, s ao, a possibilidade de impress ao do relat orio que e oferecida pelas ferramentas, ou seja, e possivel imprim -lo em v arios formatos, e a possibilidade de buscar informa c oes em diferentes fontes de dados, como banco de dados, cole c oes, arquivos XML e outros, cando f acil assim de atender a diferentes contextos e situa c oes. importante ressaltar que, embora a solu E c ao para gera c ao de relat orios demonstrada aqui tenha demonstrado grande capacidade e pot encial, existem outras solu c oes no mercado. Cabe ao usu ario (desenvolvedor, ou outra pessoa que necessite de uma tecnologia para gerar relat orios) denir qual melhor atende ` as suas necessidades.

39

Bibliography
[1] D. Buzatto. Jasperreports: Trabalhando com relat orios em java parte 1 (congurando o ambiente). davidbuzatto.com.br. Acessado em 05, de Junho de 2012., 01, 2010. [2] A. M. N. da Costa. Cabe cas digitais - O cotidiano na era da informa c ao. Edicoes Loyola, 2006. [3] A. P. de Freitas Neto. Est agio curricular i: Desenvolvimento de um erp em j2se. Technical report, Universidade do Estado de Santa Catarina UDESC, 2009. [4] H. M. DEITEL. Java: Como Programar. Prentice Hall - Br, 2010. [5] P. J. Deitel. XML Como Programar. Bookman Companhia Ed, 2003. [6] M. A. Marcio Belo R. Silva. Relat orios em aplicativos web. RevISTa: Publica c ao t ecnico-cient ca do IST-Rio, 02, 2011. [7] C. F. Paix ao. Gera c ao de relat orio com jasperreports e ireport. www.guj.com.br. Acessado em 02 de Junho de 2012.

40

Anda mungkin juga menyukai