bem,estou coseguindo usar o ireport do jeito q eu kero juntamente com o hibernete, so q esta acontecendo algumas coisa q nao kero q aconteca
1º - qd fecho a janela do iReport ele mata a minha aplicação, tem como eu fazer com q isso nao aconteca, com q seja somente um dispose?
2º - qd mando uma lista vazia ele da a seguinte mensagem: “o documento nao contem paginas” e a janela q se abre abre vazia, gostaria q ela abrisse normalmente, tem como?
Sua aplicacão esta se fechando porque você deve estar gerando o relatorio como uma aplicação onde a visualização do relatorio esta ligada ao serviço, ou seja…é como se fosse uma aplicação java em Swing. Quando voce fecha o relatorio,ele mata a aplicação.
Acho que para abrir o relatorio, ele tem que ter algum valor de retorno. Sempre tente colocar uma querye qualquer mesmo com um retorno que não se usar. Ele ira exibir
@author Tércio
*/
public class ImprimeOrcamento extends javax.swing.JFrame {
private static final String layout = “/jasper/ImprimeOrcamento.jasper”;
Calendar cal = new GregorianCalendar();
/** Creates new form ImprimeOrcamento */
public ImprimeOrcamento() {
initComponents();
}
public ImprimeOrcamento(Orcamentos orcamento) throws Exception{
OrcamentoHibernateDAO dao = new OrcamentoHibernateDAO();
TaxasHibernateDAO dao1 = new TaxasHibernateDAO();
List resultado = dao1.consultarTaxas2(orcamento);
if(resultado.size() == 0) {
Taxas taxa = new Taxas();
taxa.setCodigo("");
taxa.setServico("");
resultado.add(taxa);
}
String dia = new Integer(cal.get(Calendar.DAY_OF_MONTH)).toString();
String mes = new Integer(cal.get(Calendar.MONTH)+1).toString();
String ano = new Integer(cal.get(Calendar.YEAR)).toString();
Map parametros = new HashMap();
parametros.put("nome", orcamento.getNome());
parametros.put("data", dia+"/"+mes+"/"+ano);
parametros.put("nome", orcamento.getNome());
parametros.put("placa", orcamento.getPlaca());
parametros.put("renavam", orcamento.getRenavam());
parametros.put("chassi", orcamento.getChassi());
parametros.put("fone", orcamento.getFone());
parametros.put("orcamentoPara", orcamento.getDescricao());
parametros.put("validade", orcamento.getValidade());
parametros.put("pagamento", orcamento.getPagamento());
parametros.put("obs", orcamento.getObs());
parametros.put("total", orcamento.getValor());
parametros.put("descontos", orcamento.getDesconto());
parametros.put("geral", orcamento.getTotal());
JasperPrint impressao = JasperFillManager.fillReport(
getClass().getResourceAsStream(layout), parametros, new JRBeanCollectionDataSource(resultado));
JasperViewer viewer = new JasperViewer(impressao, true);
viewer.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
viewer.show();
}
/** This method is called from within the constructor to
initialize the form.
WARNING: Do NOT modify this code. The content of this method is
always regenerated by the Form Editor.
*/
//
private void initComponents() {
}//
/**
@param args the command line arguments
*/
public static void main(String args[]) {
new ImprimeOrcamento();
}
}[/code]
oq tenho q mudar para q ela nao mate a aplicacao?
eu ja estou usando direto o .jasper, eel ja eh compilado, nao estou compilado o jrxml como vc postou ai no seu codigo