Exibir um relatorio atraves do jButton

Bem gente to com o seguinte problema

 Relatorio v = (Relatorio) jRelcodemp.getText();
  required: Relatorio
  found:    String

Ele usara um campo de texto para pegar o codigo!

E está dando esse erro!

O problema é q vc está tentando fazer um cast de uma String para uma classe Relatorio, isso não será possível. Vc não tem nenhum código na classe Relatorio que sete o código do relatório?

Na minha classe relatório só tem os métodos getter and setter

[code]
public class Relatorio{

private Integer id_cadastro;
private String razao;

public Relatorio(Integer id_cadastro, String razao) {
    this.id_cadastro = id_cadastro;
    this.razao = razao;
}

public Integer getId_cadastro() {
    return id_cadastro;
}

public void setId_cadastro(Integer id_cadastro) {
    this.id_cadastro = id_cadastro;
}

public String getRazao() {
    return razao;
}

public void setRazao(String razao) {
    this.razao = razao;
}

}
[/code] O que poderia estar errado?

Vc não entendeu, o q eu disse é q vc está tentando converter uma String com o método “jRelcodemp.getText()” para uma classe Relatorio

Relatorio v = (Relatorio) jRelcodemp.getText(); // Vc está fazendo o cast de String para Relatorio, não vai funcionar

Se o que vc quer fazer é atribuir o valor do campo jRelcodemp ao campo id_cadastro da classe relatório faça o seguinte:

Relatorio v = new Relatorio(); // cria uma instância da classe Relatorio
v.setId_cadastro(Integer.parseInt(jRelcodemp.getText())); // faz o cast para Integer e atribui a variável id_cadastro da classe Relatorio

Uma dica, por definição variáveis em Java são nomeadas com camelcase, no caso da sua variável id_cadastro, ficaria melhor se vc nomeasse como idCadastro. Não é obrigatório mas é aconselhável.
Tem um artigo interessante que fala sobre isso no link abaixo, se te interessar:
http://java.about.com/od/javasyntax/a/nameconventions.htm

O que eu quero fazer e pegar o valor do campo jRelcodemp para poder ser o parametro para o relatorio!
Quase igual as consultas que eu utilizei nesse projeto. Porém esta dando esse erro!

[quote=William Rodrigues Vieira]O que eu quero fazer e pegar o valor do campo jRelcodemp para poder ser o parametro para o relatorio!
Quase igual as consultas que eu utilizei nesse projeto. Porém esta dando esse erro![/quote]

Como eu já disse nos posts anteriores, vc não vai conseguir converter uma String em um objeto Relatorio, onde vc quer inserir o valor da variável jRelcodemp? Se for na variável id_cadastro é exatamente como expliquei.

Agora o erro que esta dando e esse!

run:
Jul 03, 2013 12:31:43 PM honorarios.HonorariosView jRelsalvarActionPerformed
SEVERE: null
java.lang.UnsupportedOperationException: Not yet implemented
        at Modelo.Relatorio.<init>(Relatorio.java:24)
        at honorarios.HonorariosView.jRelsalvarActionPerformed(HonorariosView.java:2297)
        at honorarios.HonorariosView.access$3700(HonorariosView.java:45)
        at honorarios.HonorariosView$32.actionPerformed(HonorariosView.java:1830)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.Component.processMouseEvent(Component.java:6505)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
        at java.awt.Component.processEvent(Component.java:6270)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4861)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
        at java.awt.Container.dispatchEventImpl(Container.java:2273)
        at java.awt.Window.dispatchEventImpl(Window.java:2719)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:682)
        at java.awt.EventQueue$3.run(EventQueue.java:680)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:696)
        at java.awt.EventQueue$4.run(EventQueue.java:694)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

CONSTRUÍDO COM SUCESSO (tempo total: 4 minutos 19 segundos)

Posta o código do botão q vc está acionando qdo aparece o erro.

private void jRelsalvarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRelsalvarActionPerformed
        

        try {
            Relatorio v = new Relatorio();
            // cria uma instância da classe Relatorio
            v.setId_cadastro(Integer.parseInt(jRelcodemp.getText()));
            // faz o cast para Integer e atribui a variável id_cadastro da classe Relatorio
            
            chamaRelatorio visualizarRel = new chamaRelatorio();
            visualizarRel.visualizar(v.getId_cadastro());
        } catch (Exception ex) {
            Logger.getLogger(HonorariosView.class.getName()).log(Level.SEVERE, null, ex);
        }

Esse e o codigo do ActionPerformed do botao para gerar o relatorio!

Posta o código da classe chamaRelatorio, se não estou enganado o erro está na implementação do método “visualizar()”.

[code]
public class chamaRelatorio {

private Connection conn;
public chamaRelatorio( ) throws Exception{
    try {
        this.conn = (Connection) ConectaBanco.getConnection( );
    } catch( Exception e ) {
        throw new Exception( "Erro: \n" + e.getMessage( ) );
    }



}

public void visualizar(Integer id_cadastro){

    try{
    
        HashMap parameterMap = new HashMap<String, Integer>();
        //o Nome do par�¢metro e o valor �© passado ao HashMap
        parameterMap.put("COD_EMPRESA", id_cadastro);

        //caminho relativo do relat�³rio dentro do pacote
        String a = "Relatorios/clientesdiv.jasper";

        //l�ª o arquivo dentro do pacote
        //mecess�¡rio caso gere um JAR para distribuir
        InputStream in = this.getClass().getResourceAsStream(a);


        //chama fillReport 
        JasperPrint jp = JasperFillManager.fillReport(in, parameterMap, conn);

    //exibe o relat�³rio com viewReport
    JasperViewer.viewReport(jp, false);

	}catch (JRException e) {
        e.printStackTrace();
	} finally {
        try {
            if (!conn.isClosed()) {
                conn.close();
            }
        } catch (SQLException ex) {}
	}

}

}

[/code] Ai esta a classe chamaRelatorio().

O erro está em alguma parte do construtor da classe “chamaRelatorio” ou em “ConectaBanco.getConnection( )”, eu não consegui ver pelo erro q foi postado. Dá uma conferida no método getConnection e debuga a classe chamaRelatorio e ConectaBanco p/ descobrir onde exatamente a exceção está sendo lançada, desse jeito vai ficar mais fácil de encontrar o erro.

Uma dica, evite lançar exceções no construtor da classe, não é uma boa prática.

[code]
run:
Jul 11, 2013 8:32:45 PM honorarios.HonorariosView jRelsalvarActionPerformed
SEVERE: null
java.lang.NullPointerException
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2283)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2296)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798)
at java.io.ObjectInputStream.(ObjectInputStream.java:298)
at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.(ContextClassLoaderObjectInputStream.java:58)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:244)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:229)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:405)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:824)
at util.chamaRelatorio.visualizar(chamaRelatorio.java:54)
at honorarios.HonorariosView.jRelsalvarActionPerformed(HonorariosView.java:2301)
at honorarios.HonorariosView.access$3700(HonorariosView.java:45)
at honorarios.HonorariosView$32.actionPerformed(HonorariosView.java:1830)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

CONSTRUÍDO COM SUCESSO (tempo total: 26 segundos)
[/code] Esse e o novo erro que esta dando, tem a ver com o fillReport! Come resolver??