olá amigos, montei um relatório com o plugin no ireport no netbeans, porém quando mando executar a classe main recebo a mensagem de que o relatório não contém paginas para exibir. eu consigo abrir o relatório certinho no pluguin ireport, mas executando atraves das classes ocorre esse erro.
segue abaixo as tres classes que uso: a conectionfactory é para conexão com banco de dados, a reportutils é para gerar o frame do relatório e a classe main executa tudo:
[code]
package tutorialrelatorios.jdbc;
/**
*
-
@author PAULO
*/
import java.sql.;
import javax.swing.;
public class ConnectionFactory {
static Connection con;
static Statement stm;
public static void Conectar(){
//JOptionPane.showMessageDialog(null, "Preparando para iniciar a conexão com o BD;");
try
{
// Tenta se conectar ao Driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null, "Impossível carregar o Driver.");
System.exit(0);
}
try
{
// nomedobanco é o nome que você deu anteriormente ao seu alias
con = DriverManager.getConnection("jdbc:odbc:Visita");
stm = con.createStatement();
}
catch (SQLException sqle)
{
JOptionPane.showMessageDialog(null, "Problema ao conectar!");
System.exit(0);
}
JOptionPane.showMessageDialog(null, "BEM VINDO AO SISTEMA!");
}
}[/code]
[code]
package tutorialrelatorios.utils;
/**
*
-
@author PAULO
/
import java.awt.BorderLayout;
import java.io.InputStream;
import java.sql.;
import java.util.Map;
import javax.swing.JFrame;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.swing.JRViewer;
public class ReportUtils {
//public static void openReport(String titulo,InputStream inputStream,Map parametros,Connection conexao )
public static void openReport(String titulo,InputStream inputStream,Map parametros)
throws JRException {
JasperPrint print = JasperFillManager.fillReport(
inputStream, parametros);
// abre o JasperPrint em um JFrame
viewReportFrame( titulo, print );
}
private static void viewReportFrame( String titulo, JasperPrint print ) {
JRViewer viewer = new JRViewer( print );
// cria o JFrame
JFrame frameRelatorio = new JFrame( titulo );
// adiciona o JRViewer no JFrame
frameRelatorio.add( viewer, BorderLayout.CENTER );
// configura o tamanho padrão do JFrame
frameRelatorio.setSize( 500, 500 );
// maximiza o JFrame para ocupar a tela toda.
frameRelatorio.setExtendedState( JFrame.MAXIMIZED_BOTH );
// configura a operação padrão quando o JFrame for fechado.
frameRelatorio.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
// exibe o JFrame
frameRelatorio.setVisible( true );
}
}[/code]
[code]
package tutorialrelatorios;
/**
*
-
@author PAULO
*/
import java.io.InputStream;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.*;
import net.sf.jasperreports.engine.JRException;
import tutorialrelatorios.jdbc.ConnectionFactory;
import tutorialrelatorios.utils.ReportUtils;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new Main().abrirRelatorioClientes();
}
public void abrirRelatorioClientes() {
//InputStream inputStream = getClass().getResourceAsStream( "C:/Users/PAULO/Documents/NetBeansProjects/TutorialRelatorios/relatorios/visitas.jrxml" );
InputStream inputStream = getClass().getResourceAsStream( "/visitas.jasper" );
// mapa de parâmetros do relatório (ainda vamos aprender a usar)
Map parametros = new HashMap();
// abre o relatório
ConnectionFactory.Conectar();
try {
ReportUtils.openReport("Visitas", inputStream, parametros);
} catch (JRException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}[/code]
quem poder por favor me ajude…