galera estou precisando de uma ajuda
com muito custo consigui criar uma classe java que chama os relatorios feito pelo ireport mas só funciona se vc colocar todo o caminho do arquivo.jasper ,a minha class que chama o relatorio.jasper encontra-se no diretorio src e abaixo encontra-se o diretorio relatorio contendo o arquivo.jasper.
tem como colocar somente o diretorio que se encontara o arquivo.jasper sem precisar colocar todo este caminho C:\Documents and Settings\giovanni\Meus documentos\NetBeansProjects\JavaApplication7\src\javaapplication7\relatorio\teste.jasper"); ?
meu codigo baixo:
[code]import java.sql.;
import javax.swing.JOptionPane;
import java.util.HashMap;
import net.sf.jasperreports.engine.;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.*;
public class RelatorioProdutos {
private Connection con;
private String relatorio = (“C:\Documents and Settings\giovanni\Meus documentos\NetBeansProjects\JavaApplication7\src\javaapplication7\relatorio\teste.jasper”);
public RelatorioProdutos() {
try{
String url =“jdbc:mysql://localhost:3306/teste”;
String usuario =“root”;
String senha="";
Class.forName(“com.mysql.jdbc.Driver”);
con = DriverManager.getConnection(url,usuario,senha);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(“SELECT * FROM turma”);
}
catch(Exception event)
{
JOptionPane.showMessageDialog(null,“conexão não estabelecida”+
" verificar se o banco esta ativo",“Mensagem do Programa”,JOptionPane.ERROR_MESSAGE);
}
}
public void exibirRelatorio() throws SQLException{
try {
JasperReport jr = (JasperReport)JRLoader.loadObject(relatorio);
HashMap map = new HashMap();
JasperPrint rel = JasperFillManager.fillReport(jr, map, con);
JasperViewer.viewReport(rel, false);
} catch (JRException erro) {
JOptionPane.showMessageDialog(null, "Erro: " + erro.getMessage());
}
}
public static void main(String [] agrs) throws SQLException{
new RelatorioProdutos().exibirRelatorio();
}
}
[/code]