JasperReport gerar um relatorio do Swing para impressora

4 respostas
G

Estou procurando material pra trablhar com JasperReport porem so encontrei exemplos
de uso como fonte JDBC
gostaria de fazer o seguinte:
tenho meu programa… e estou com os objetos(javabeans) instanciados e preenchidos, e
gostaria apartir desses objetos gerar um relatorio…

alguem pode me ajudar? se tiverem link ou alguma dica valew…
nao vou usar banco de dados…é so digitar, gerar o relatorio e dpois imprimir…

[]'s
Geraldo

4 Respostas

furutani

Olá

Veja tutoriais em http://java.furutani.eti.br
Espero q ajudem.

A

Nao sei se estou falando besteira aqui… pq nunca trabalhei com esse tipo de dados no Jasper… soh vindo do banco mesmo, mas vc pode tentar implementar a interface JRDataSource… e passar como parametro esse seu DataSource pro metodo fillReport()

G
furutani:
Olá

Veja tutoriais em http://java.furutani.eti.br
Espero q ajudem.

Tentei fazer um teste como esta no tutorial e estou com um erro que não consegui resolver nesta linha:

impressao = JasperFillManager.fillReport(relJasper, parametros, ds);
esta me dando seguinte erro:
Exception in thread "main" java.lang.NullPointerException
        at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2264)
        at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2277)
        at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2748)
        at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
        at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:191)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580)
        at formulario.Main.exibir(Main.java:67)
        at formulario.Main.main(Main.java:78)
Java Result: 1

minha classe esta assim:

public class Main {
   
    /** Creates a new instance of Main */
    public Main() {
    }
   
    /**
     * @param args the command line arguments
     */
   
    public void exibir(){
          // cria objeto estabelecimento
        Estabelecimento estabelecimento = new Estabelecimento();
        estabelecimento.setNome("Teste 123");
       
       
        // gera e imprime
       
        // Caminho do .jasper do relatorio
        String caminhoRelJasper = "c:\\Atestado.jasper";
       
        // Lista com beans
        //List listaLivros = getLivros();
        List lista = new ArrayList();
        lista.add(estabelecimento);
       
        // Stream com o .jasper
       
        InputStream relJasper = getClass().getResourceAsStream(caminhoRelJasper);
       
        // O datasource
       
        JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(lista);
       
        // Parametros do relatorios
        Map parametros = new HashMap();
       
        JasperPrint impressao = null;
        try {
           
            impressao = JasperFillManager.fillReport(relJasper, parametros, ds);
            JasperViewer viewer = new JasperViewer(impressao, true);
            viewer.setVisible(true);
           
        } catch (JRException e) {
            System.out.println(e.getMessage());
        }
    }
    public static void main(String[] args) {
        // TODO code application logic here
       System.out.println("Inicio");
        new Main().exibir();
       System.out.println("Termino");
    }
   
}

se alguem poder ajudar.. valew..

[]´s
Geraldo

G

furutani:
Olá

Veja tutoriais em http://java.furutani.eti.br
Espero q ajudem.

Baixei os codigo fontes de
http://www.furutani.eti.br:8080/MostrarArtigo.action?codigo=10

e tentei compilar e da o mesmo problema…

sera o que esta acontecendo?

meu projeto de teste(o que baixei do site do furutani) esta em anexo… para quem quiser analizar… e esta sem o lib do jasperreport

[]'s
Geraldo

Criado 26 de maio de 2007
Ultima resposta 28 de mai. de 2007
Respostas 4
Participantes 3