Problema em gerar relatório pelo executável

7 respostas
L

Boa tarde pessoal estou tentando gerar o relatório pelo executável do meu programa, mas quando clico no botão nada acontece, não dá nenhum tipo de erro, mas não abre o relatório.
Segue abaixo o código que estou utilizando para gerar pelo Netbeans que está funcionando perfeito.

try {
            Connection con = new DAOconexoes().getConn();
            System.out.println(diagnostico.getCodigodiag());
            JDialog viewer = new JDialog(new javax.swing.JFrame(), "Relatório", true);
            viewer.setSize(1024, 760);
            viewer.setLocationRelativeTo(null);

            String s = System.getProperty("user.dir") + "/src/relatorio/RelatDiagnostico1.jasper";

            Map parameters = new HashMap();
            parameters.put("CODIGODIAG", diagnostico.getCodigodiag());

            JasperPrint jp = JasperFillManager.fillReport(s, parameters, con);
//
            JasperViewer jv = new JasperViewer(jp, false);

            viewer.getContentPane().add(jv.getContentPane());
            viewer.setVisible(true);

            //jv.setDefaultCloseOperation(jv.DISPOSE_ON_CLOSE);
            //jv.setTitle("");
            //jv.setVisible(true);

        } catch (Exception ex) {
        }

Se alguém puder me ajudar…

7 Respostas

drsmachado
} catch (Exception ex) {  
        }

Como você espera alguma mensagem de erro, com esse tratamento porco para as exceções que podem ocorrer?

L

me desculpa, mas eu sou iniciante em java, só pedi uma ajuda justamente porque não consegui fazer o relatório funcionar!

L

alguém poderia me ajudar ou indicar se tenho que criar uma classe? e me ajudar o que posso colocar nessa classe…

drsmachado

Camarada, a desculpa mais ridícula que tem é se dizer iniciante, tentando programar com jasperreport.
Iniciante, para mim, brinca com estruturas de repetição, laços de repetição, orientação a objetos.
Como te disse, o teu problema é não tratar a exceção.
Tenta fazer isso, dispara um JOptionPane com a mensagem da exceção que você descobre onde errou.

L

O erro gerado é esse:

net.sf.jasperreports.engine.JRException:java.io.FileNotFoundException:C:\Documents and Settings\Lyster\Desktop\Cloud\dis\src\relatorio\RelatDiagnostico1.jasper

Mas esse erro só da no executável, pelo Netbeans funciona normal…

drsmachado

lysterm:
O erro gerado é esse:

net.sf.jasperreports.engine.JRException:java.io.FileNotFoundException:C:\Documents and Settings\Lyster\Desktop\Cloud\dis\src\relatorio\RelatDiagnostico1.jasper

Mas esse erro só da no executável, pelo Netbeans funciona normal…


Simples, instala o netbeans pra todos os clientes e ensina a eles como gerar o relatório a partir dele.
Ou então, faz alguma coisa direito e aprende que todo erro que tenha

FileNotFoundException

Indica que o arquivo não foi encontrado.
Ou seja, você fez alguma coisa muito errada e o teu programa, que não consegue pensar, não encontra o arquivo que deveria estar lá.
O mais correto é que você deixe tudo que é relativo ao projeto dentro do .jar criado. Isso inclui o relatório também.

L

Consegui resolver, foi só colocar o executável .jar na pasta raiz do projeto e não na pasta DIST onde ele era construído.
Obrigado pela ajuda e pela paciência amigo…

Criado 28 de junho de 2013
Ultima resposta 2 de jul. de 2013
Respostas 7
Participantes 2