Preciso de ajuda para resolver o seguinte problema:
Tenho uma classe que gera Código de Barras.
Como faço para utilizar essa classe dentro do iReport.
Essa classe gera apenas o Código de Barrras e o mesmo deverá
aparecer em um TextField.
Por favor uma dica, intrução!!!
Obrigada…
Olá, não se c vai te resolve mas vai uma dica…
estou mandando uma classe de exemplo…
package agenda;
/*
* Created on 02/06/2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperPrintManager;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperDesignViewer;
import net.sf.jasperreports.view.JasperViewer;
import utilidades.Utilidades;
public class Relatorio {
private int nrCelular;
private int nrResidencial;
private String nome;
private int cdAreaCelular;
private int cdAreaResidencial;
private StringBuffer consulta;
private static final String driver = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://10.0.50.64:3306/facprototipo";
private static final String login = "fac";
private static final String passwd = "fac";
//Utilidades utilidades;
//private Conexao conexaoBD;
public Relatorio(){
nrCelular = 0;
nrResidencial = 0;
nome = "";
cdAreaCelular = 0;
cdAreaResidencial = 0;
//utilidades = new Utilidades();
//conexaoBD = new Conexao(url);
}
public void geraRelatorio(Telefone telefone, String empresa){
//carrega as variáveis....
consulta = new StringBuffer();
nrCelular = telefone.getNrCelular();
nrResidencial = telefone.getNrResidencial();
nome = telefone.getNome();
cdAreaCelular = telefone.getCdAreaCelular();
cdAreaResidencial = telefone.getCdAreaResidencial();
//cria a query....
consulta.append("Select cdAlerta, dsAlerta ");//tem q ter os mesmos campos q no relatorio
consulta.append("from Alerta ");
consulta.append("where cdAlerta = 9000 ");
consulta.append("order by cdAlerta ");
//cria clusula where....
/*if (nrCelular > 0) {
consulta.append("AND telefoneCelular = " + nrCelular + " ");
}
if (nrResidencial > 0) {
consulta.append("AND telefoneResidencial = " + nrResidencial + " ");
}
if (cdAreaCelular > 0) {
consulta.append("AND cdAreaCelular = " + cdAreaCelular + " ");
}
if (cdAreaResidencial > 0) {
consulta.append("AND cdAreaResidencial = " + cdAreaResidencial + " ");
}
if (nome.length() > 0) {
consulta.append("AND nome LIKE '" + this.utilidades.buscaTipoNome(nome) + "%' ");
}
consulta.append("ORDER BY nome ");*/
System.out.println(consulta.toString());
//Gera o relatorio e mostra-o....
try {
/*JasperReport: Representa o JasperDesign compilado. O processo de compilação verifica o design do
relatório e compila o design em um objeto JasperReport.*/
JasperReport relatorio = JasperManager.loadReport("C:\\eclipse\\workspace\\Agenda de Telefone\\Agenda de Telefone\\relatorio\\ListagemAlerta.jasper");
/*Determina o driver a usar
estabelece uma conexão JDBC*/
Class.forName(driver);
Connection con = DriverManager.getConnection(url, login, passwd);
/*cria o statement de indicação*/
Statement stm = con.createStatement( );
/*cria o resultset do sql*/
ResultSet rs = stm.executeQuery( consulta.toString() );
/*cria o resultado dos dados obtidos*/
JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
/*Map coloca parametros pro relatorio*/
Map parametros = new HashMap();
//+++++++++++++++++++++++++++++++++++++
//aqui por exemplo manda por parametro o teu código de barra....++++
parametros.put("nmEmpresa",empresa);
//++++++++++++++++++++++++++++++++
/*JasperPrint: Representa o relatório gerado. É criado um JasperPrint a partir de um JasperReport,
contendo o relatório preenchido, q previamente ja foi compilado*/
JasperPrint impressao = JasperManager.fillReport(relatorio, parametros, jrRS);
/*exibe o resultado da impressão na previsualização padrão Swing*/
// salva o resultado em um documento PDF
// JasperManager.printReportToPdfFile(impressao, "ListagemAlerta.pdf");
JasperViewer viewer = new JasperViewer(impressao, false);
viewer.setTitle("Visualizando o Relatório de ???????");
viewer.show();
/*fecha a conexão*/
con.close();
System.out.println("FIM***");
} catch (Exception e) {
JOptionPane.showMessageDialog(null,
"EXCEPTION AO GERAR RELATÓRIO ",
"Classe do Relatório",JOptionPane.WARNING_MESSAGE);
}
}
//provisorio vai sair chamada vai ser do FrmRelatorio
public static void main(String[] ricardo){
Relatorio rel = new Relatorio();
Telefone tel = new Telefone(1,1,1,1,"","",1);
rel.geraRelatorio(tel, "testenmEmpresa");
}
}
uma sujestão derrepente c vc não tem outra alternativa vale tentar…
vc mandando por parametro ai depois é só criar uma varialvel no iReport e coloca no teu textfield…
bem tem q testar…ok
valew…
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Matheus [/color][/size] :joia: