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!
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??