Problemas com inicialização do IReport

11 respostas
S

Galera, bom dia !

O meu problema é o seguinte :
Criei meu relatório através de uma classe no Net Beans.
Usei uma classe “Inicio” para testar esse meu relatório.

import net.sf.jasperreports.engine.JRException;
import model.relatorioOrcamento;
 
public class Inicio 
{   
      public Inicio() {}
  
         public static void main(String[] args) throws JRException, Exception 
            {
	 
                new relatorioOrcamento().geraRelatorio(); 

            } 
}

Agora quero usar essa mesma classe para testar o meu “Cadastro de Orcamento”:

package control;
import net.sf.jasperreports.engine.JRException;
import view.CadastroAcesso;
import view.CadastroOrcamento;
import view.CadastroProduto;
import view.Login;
import control.Dao;
import view.novoteste; 
import model.relatorioOrcamento;
 
public class Inicio 
{   
    
    
    public Inicio() {}

    public static void main (String[] args)
    {
        String a = "Alex";
        CadastroOrcamento lg = new CadastroOrcamento(a);
        //lg.setBounds(300,200,330,295);
        lg.setVisible(true);     
    }

    
}

Porém toda vez compilo, ele acaba instanciando o relatório novamente.
E agora? como me liberto do relatório?

11 Respostas

CintiaDR

Liberta? Vc quer dizer desaloca a memória?

Se for isso, nem se preocupe, o java faz isso por vc.

Vc quer dizer juntar assim?

package control;  
import net.sf.jasperreports.engine.JRException;  
import view.CadastroAcesso;  
import view.CadastroOrcamento;  
import view.CadastroProduto;  
import view.Login;  
import view.novoteste;   
import model.relatorioOrcamento;  
import net.sf.jasperreports.engine.JRException;  

  
public class Inicio   {     
      
  
      public static void main(String[] args) throws JRException, Exception   {  
     
               new relatorioOrcamento().geraRelatorio();   
               String a = "Alex";  
               CadastroOrcamento lg = new CadastroOrcamento(a);  
               //lg.setBounds(300,200,330,295);  
               lg.setVisible(true);  
  
        }   
}
S

CintiDR, muito obrigado pela sua atenção.

Simplesmente, não quero mais “testar” o meu relatório.
Acontece que a classe Inicio “teima” em apontar para classe Relatório, mesmo não tendo nada referente a ela no seu corpo !

public class Inicio 
{   
    
    
    public Inicio() {}

    public static void main (String[] args)throws JRException, Exception   
    {
        String a = "Alex";
        CadastroOrcamento lg = new CadastroOrcamento(a);
        lg.setVisible(true);     
    }

    
}
CintiaDR

Hum. Desculpe, não entendi o problema.

O código da classe início é qual? como vc compila? como vc executa?

L

Cara, da um Clean and Rebuild… ou vai la na pasta e apaga os compilados!
Ele deixou class pra tras perdido!
Apaga e compila denovo…
abraço

S

Seguinte,
essa classe “Inicio” está sendo utilizada para testar os Cadastros (que são classes Bean) do meu programa.
dentro do main, dependendo do cadastro, eu faço,
para testar o Cadastro de Orcamento:

CadsatroOrcamento co = new CadastroOrcamento();
cd.setvisible(true);

para testar o Cadastro de Venda, substituia a linha fazendo:

CadastroVenda cv = new CadastroVenda();
cv.setvisible(true);

e assim por diante …
para testar o relatório fiz:

new relatorioOrcamento().geraRelatorio();

o relatório funcionou legal. Agora quero voltar a testar os Cadastros novamente,porém , parece que o relatório não sai da memória, e toda vez ele é iniciado mesmo não fazendo nenhuma referencia a ele na classe Inicio:

public class Inicio   {       
public static void main(String[] args) throws JRException, Exception   {
CadastroOrcamento lg = new CadastroOrcamento();     
               lg.setVisible(true);     
     
        }     
}
L

intão cara… isso que eu te falei,
ele ficou class perdido
entra la na pasta do projeto vai em build e apaga os .class de la
dai da um build novamente!

abraco

CintiaDR

Se é isso que eu entendi, concordo com o rapaz aqui encima.

Tudo o que vc indicou fala que aparentemente não está rodando o código novo, e sim o antigo. Apague os .class, compile de novo. Veja a data de criação/modificação desses arquivos.

S

Valeu meu camarada,
apagando as .class rolou legal !

Mas, pode me explicar, como isso aconteceu e como posso evitar ?

Novamente, obrigado pela ajuda .

CintiaDR

Por alguma razão os arquivos são estavam sendo sobrescritos. Se eles não estavam como somente leitura ou algo assim, eu considero meio cabalístico mesmo hehe

Por vias das dúvidas, verifique sempre a data da última alteração dos .class em caso de dúvidas.

S

CintiaDR e lvffilho
Obrigado pela ajuda e apesar da minha pouca experiência me coloco a disposição para qualquer ajuda que precisarem.

L

Nem tem o que agradecer :smiley:
o forúm está aqui pra isso… e nem de bola, por mais banal que possa ser isso, pode ter certeza que muita gente ja passou ou vai passar ainda!
e estamos ai pra compartilhar conhecimento… :stuck_out_tongue:
espero ter ajudado!
Abraço…

É como dizia uma velha frase…
“Se cada um de nós temos uma maça e trocarmos, cada um continua com uma maça. Se temos cada um uma idéia e trocarmos, teremos várias!”

Criado 17 de outubro de 2007
Ultima resposta 17 de out. de 2007
Respostas 11
Participantes 3