Saudações galera…
Criei um formulário simples com o plugin do iReport para NetBeans…Segui os passos de um esquema de instalação que o “davidbuzatto” me mandou, link: http://davidbuzatto.com.br/2010/10/09/jasperreports-trabalhando-com-relatorios-em-java-parte-1/
instalei o plugin do iReport3.7.6 como diz o link, criei um relatorio simples, sem nada, apenas textos estaticos…Qdo tento abrir esse relatorio tenho o retorno de “log4j”
//erro retornado
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
//maneira como estou tentando abrir o relatorio
private void relatorioTesteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
relTeste();
}
public void relTeste(){
try {
String arquivo = "/Teste.jasper";
java.io.InputStream file = getClass().getResourceAsStream(arquivo);
JasperPrint printer = JasperFillManager.fillReport(file, null);
JasperViewer.viewReport(printer);
} catch (JRException ex) {
System.out.println(ex.getMessage());
}
}
To pesquisando, tentando encontrar a respeito desse erro e encontro muita gente com esse problema, mas poucas soluções e as que tentei ainda não funcionou…
como solucionar esse problema ??
Não é erro.
É um warn do Log4J falando que o logger usado pelo JasperReports (classe ExtensionsEnvironment) não tem um appender configurado.
Pode desconsiderar isso. Se quiser que o warn desapareça, configure o Log4J.
[]´s
Se quiser fazer o warn desaparecer, crie um arquivo chamado log4j.properties no pacote padrão do seu projeto e insira o seguinte conteúdo.
[code]log4j.rootLogger=warn, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n[/code]
Você pode criar um diretório para a configuração do LogJ4 e mapeá-lo dentro do NetBeans, da mesma forma que ensinei a fazer para os relatórios no tutorial do blog.
Alguns links sobre Log4J:
http://logging.apache.org/log4j/1.2/manual.html
http://hotwork.sourceforge.net/hotwork/manual/log4j/log4j-user-guide.html
http://www.benmccann.com/dev-blog/sample-log4j-properties-file/
Aqui no GUJ tem um artigo, mas a configuração é feita programaticamente.
[]´s
Opa David…resolvido, ficou show !!!
Eu montei usando JDialog ai eu vi que o View tava ficando atras do meu jdialog, entaum fiz assim…vai q alguem tem o msm problema.
public void emiteComanda(){
//gerando relatorio sem conexao com o banco
try {
String arquivo = "relatorios/Comanda.jasper";
java.io.InputStream file = getClass().getClassLoader().getResourceAsStream(arquivo);
Map parametros = new HashMap();
JasperPrint printer = JasperFillManager.fillReport(file,parametros,new JREmptyDataSource());
JRViewer view = new JRViewer(printer);
JDialog dialog = new JDialog();
dialog.getContentPane().add(view);
new AbreRelatorios().abreRelatorio(dialog);
} catch (JRException ex) {
Logger.getLogger(FechamentoDeConta.class.getName()).log(Level.SEVERE, null, ex);
}
}
public class AbreRelatorios{
public void abreRelatorio(JDialog dialog){
try{
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
dialog.setBounds(0, 0, screenSize.width, screenSize.height);
dialog.setLayout(new GridLayout(1, 1));
dialog.setModalityType(ModalityType.APPLICATION_MODAL);
dialog.setResizable(false);
dialog.setModal(true);
dialog.setVisible(true);
}catch(Exception error){
JOptionPane.showMessageDialog(null, "Não foi possível abrir o relatório", "Erro Encontrado", JOptionPane.ERROR_MESSAGE);
}
}
fechou, agora ta abrindo blz…