[color=red]Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - incompatible types
required: com.lowagie.text.pdf.codec.Base64.InputStream
found: java.io.InputStream
at jfin.Main.abrirRelatorioClientes(Main.java:50)
at jfin.Main.main(Main.java:14)
Java Result: 1[/color]
o meu código é:
packagejfin;importcom.lowagie.text.pdf.codec.Base64.InputStream;importjava.sql.SQLException;importjava.util.HashMap;importjava.util.Map;importjdbc.ConnectionFactory;importnet.sf.jasperreports.engine.JRException;importutils.ReportUtils;publicclassMain{publicstaticvoidmain(String[]args){newMain().abrirRelatorioClientes();// try {// UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");// } catch (Exception e) {// }// java.awt.EventQueue.invokeLater(new Runnable() {//// public void run() {// Login login = new Login();// login.setResizable(false);// login.setLocationRelativeTo(null);// login.setVisible(true);// }// });}publicvoidabrirRelatorioClientes(){/* * Obtendo o arquivo do relatório. * Note que estamos utilizando um InputStream para obter o arquivo que * está dentro do nosso projeto. Fazendo isso, não teremos problema * quando nosso projeto for empacotado em um .jar. * * Note que o caminho do .jasper inicia com /, ou seja, a raiz da * localização das classes compiladas do nosso projeto * (o pacote default). * * Utilize a aba Files (canto superior esquerdo) e veja que os arquivos * .jasper e .jrxml são copiados para o diretório /build/classes * e por consequencia para o .jar que for criado. * * Se não os estiver vendo, mande dar um Clean and Build no projeto * (botão direito no nó raiz do projeto, Clean and Build (Limpar e Construir) * */InputStreaminputStream=getClass().getResourceAsStream("/CPagar.jasper");//O ERRO TA AQUI.// mapa de parâmetros do relatório (ainda vamos aprender a usar)Mapparametros=newHashMap();try{// abre o relatórioReportUtils.openReport("Clientes",inputStream,parametros,ConnectionFactory.getJFinConnection());}catch(SQLExceptionexc){exc.printStackTrace();}catch(JRExceptionexc){exc.printStackTrace();}}}
to ficando doido já....estou a uma semana agarrado nisso
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageutils;importjava.awt.BorderLayout;importjava.io.InputStream;importjava.sql.Connection;importjava.util.Map;importjavax.swing.JFrame;importnet.sf.jasperreports.engine.JRDataSource;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.JasperPrint;importnet.sf.jasperreports.swing.JRViewer;/** * Classe com métodos utilitários para executar e abrir relatórios. * * @author David Buzatto */publicclassReportUtils{/** * Abre um relatório usando uma conexão como datasource. * * @param titulo Título usado na janela do relatório. * @param inputStream InputStream que contém o relatório. * @param parametros Parâmetros utilizados pelo relatório. * @param conexao Conexão utilizada para a execução da query. * @throws JRException Caso ocorra algum problema na execução do relatório */publicstaticvoidopenReport(Stringtitulo,InputStreaminputStream,Mapparametros,Connectionconexao)throwsJRException{/* * Cria um JasperPrint, que é a versão preenchida do relatório, * usando uma conexão. */JasperPrintprint=JasperFillManager.fillReport(inputStream,parametros,conexao);// abre o JasperPrint em um JFrameviewReportFrame(titulo,print);}/** * Abre um relatório usando um datasource genérico. * * @param titulo Título usado na janela do relatório. * @param inputStream InputStream que contém o relatório. * @param parametros Parâmetros utilizados pelo relatório. * @param dataSource Datasource a ser utilizado pelo relatório. * @throws JRException Caso ocorra algum problema na execução do relatório */publicstaticvoidopenReport(Stringtitulo,InputStreaminputStream,Mapparametros,JRDataSourcedataSource)throwsJRException{/* * Cria um JasperPrint, que é a versão preenchida do relatório, * usando um datasource genérico. */JasperPrintprint=JasperFillManager.fillReport(inputStream,parametros,dataSource);// abre o JasperPrint em um JFrameviewReportFrame(titulo,print);}/** * Cria um JFrame para exibir o relatório representado pelo JasperPrint. * * @param titulo Título do JFrame. * @param print JasperPrint do relatório. */privatestaticvoidviewReportFrame(Stringtitulo,JasperPrintprint){/* * Cria um JRViewer para exibir o relatório. * Um JRViewer é uma JPanel. */JRViewerviewer=newJRViewer(print);// cria o JFrameJFrameframeRelatorio=newJFrame(titulo);// adiciona o JRViewer no JFrameframeRelatorio.add(viewer,BorderLayout.CENTER);// configura o tamanho padrão do JFrameframeRelatorio.setSize(500,500);// maximiza o JFrame para ocupar a tela toda.frameRelatorio.setExtendedState(JFrame.MAXIMIZED_BOTH);// configura a operação padrão quando o JFrame for fechado.frameRelatorio.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);// exibe o JFrameframeRelatorio.setVisible(true);}}
ela não contem nenhum erro...
Vlw's
wendel_rf
eu estou tentando abrir um relatorio com o netbeans…se alguem tiver um jeito que funfe…
me manda que eu testo
Vlw’s
nel
wendel_rf:
eu estou tentando abrir um relatorio com o netbeans…se alguem tiver um jeito que funfe…
me manda que eu testo
Cara, esse erro parece de configuração do teu layout.
Eu costumava criar uma classe Pai sem nenhum atributo e fazer com que todos os objetos que fossem ser enviados ao relatório fossem filhos dessa classe.
Isso facilitava a configuração dos objetos no relatório.
Verifique a configuração que tu aplicou na criação do relatório, olha com calma, campo a campo. Agora o problema não foi mais de falta de classe
wendel_rf
nel:
Oi!
Cara, esse erro parece de configuração do teu layout.
Eu costumava criar uma classe Pai sem nenhum atributo e fazer com que todos os objetos que fossem ser enviados ao relatório fossem filhos dessa classe.
Isso facilitava a configuração dos objetos no relatório.
Verifique a configuração que tu aplicou na criação do relatório, olha com calma, campo a campo. Agora o problema não foi mais de falta de classe :)
eu descibri que o erro era o jasperreports-javaflow-4.1.3 que tinha que tirar dos imports…
eu estou achando que meu problema são as bibliotecas…me passa cara a versão e quais bibliotecas eu devo usar no meu projeto…
pois eu baixei o projeto pronto do seu tutorial cara…e deu os mesmos erros…
ja mudou até o erro…
agora é:
Cara, esse erro parece de configuração do teu layout.
Eu costumava criar uma classe Pai sem nenhum atributo e fazer com que todos os objetos que fossem ser enviados ao relatório fossem filhos dessa classe.
Isso facilitava a configuração dos objetos no relatório.
Verifique a configuração que tu aplicou na criação do relatório, olha com calma, campo a campo. Agora o problema não foi mais de falta de classe :)
eu descibri que o erro era o jasperreports-javaflow-4.1.3 que tinha que tirar dos imports…
eu estou achando que meu problema são as bibliotecas…me passa cara a versão e quais bibliotecas eu devo usar no meu projeto…
pois eu baixei o projeto pronto do seu tutorial cara…e deu os mesmos erros…
ja mudou até o erro…
agora é:
Não tenho nenhum tutorial colega.
É dificíl saber, porque não sei como tu montou o teu layout, como configurou ele para receber os objetos e etc.
Eu ainda acho que o teu problema está da forma como criou o layout. Não esquece que os campos do seu objeto JAVA devem ser exatamente iguais aos do layout!
wendel_rf
cara...conseguii.... :D :D :D :D
até que enfim...eu só precisei pegar aquele link que vc me passou num tem??...
pelo jeito era minha classe Dominio não estava batendo com os campos do meu relatorio....