Codigo de Barras

Eu criei essa telinha por que quero que o que contenha no meu codigo seja esses dados
valor
data
matricula
moeda
e medição
o codigo é esse da tela que chama o metodo que vc me passou quando eu clicar no botão de gerar Codigo de barras
a unica coisa que eu mudei no seu metodo foi que eu coloquei um valor no value
ai esta a minha classe e o seu metodo me ajuda ai or favor.

/**
 * 
 */
package aguas.amazonas;

import GeraArquivo;
import Itau;

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

/**
 * @author Sâmea Brazão
 *
 */
public class Principal extends JFrame implements ActionListener{
	private Object Aguas;// = null;
	
	/*public Aguas(){
		initComponents();
	}*/
	private JLabel lvalor, ltitulo, lmatricula, ldata, lmoeda, lmedicao;
	private JTextField tvalor, tmatricula, tdata, tmoeda, tmedicao, tresultado;
	private JButton CmdNossoNumero, CmdLinhaLegivel, CmdCodigoBarras;
	private JScrollPane js;
	private JSeparator slinha;
	
	private void setCenter(JFrame frame)
    {
        Dimension paneSize = frame.getSize();
        Dimension screenSize = frame.getToolkit().getScreenSize();
        frame.setLocation((screenSize.width - paneSize.width) / 2, (screenSize.height - paneSize.height) / 2);
    }
	public Principal(){
		{
	    	try{
	            UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
	            SwingUtilities.updateComponentTreeUI(this);
	           }catch(Exception erro) {
	              JOptionPane.showMessageDialog(null,erro);
	           }


	        setSize(400, 360);
	        setResizable(false);
	        setTitle("Gerador de Código de Barras");
	        setCenter(this);
	        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	        Container cp = getContentPane();
	        cp.setLayout(null);
	        
	        ltitulo = new JLabel(" Parâmetros para gerar Código de Barras");
	        ltitulo.setFont(new Font("Dialog", Font.BOLD, 12));//definidndo a fonte
	        js = new JScrollPane(ltitulo);
	        js.setBounds(10, 05, 240, 21);
	        //js.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
	        cp.add(js);
	        
	        slinha = new JSeparator();
	        js = new JScrollPane(slinha);
	        js.setBounds(10, 27,370, 05);
	        //js.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
	        cp.add(js);
	        
	        lvalor = new JLabel("  Valor do Débito");
	        lvalor.setFont(new Font("Dialog", Font.BOLD, 12));
	        js = new JScrollPane(lvalor);
	        js.setBounds(10, 40, 100, 20);
	        cp.add(js);
	        
	        tvalor = new JTextField("00,00");
	        js = new JScrollPane(tvalor);
	        js.setBounds(140, 40, 70, 25);
	        cp.add(js);
	        
	        lmoeda = new JLabel(" Codigo da moeda");
	        lmoeda.setFont(new Font("Dialog", Font.BOLD, 12));
	        js = new JScrollPane(lmoeda);
	        js.setBounds(10, 80, 110, 20);
	        cp.add(js);
	        
	        tmoeda = new JTextField("9");
	        js = new JScrollPane(tmoeda);
	        js.setBounds(140, 80, 30, 25);
	        cp.add(js);
	        
	        lmedicao = new JLabel(" Medição");
	        lmedicao.setFont(new Font("Dialog", Font.BOLD, 12));
	        js = new JScrollPane(lmedicao);
	        js.setBounds(10, 120, 60, 20);
	        cp.add(js);
	        
	        tmedicao = new JTextField("00000");
	        js = new JScrollPane(tmedicao);
	        js.setBounds(140, 120, 70, 25);
	        cp.add(js);
	        
	        ldata = new JLabel(" Data");
	        ldata.setFont(new Font("Dailog", Font.BOLD, 12));
	        js = new JScrollPane(ldata);
	        js.setBounds(10, 160, 35, 20);
	        cp.add(js);
	        
	        tdata = new JTextField("00/00/0000");
	        js = new JScrollPane(tdata);
	        js.setBounds(140, 160, 80, 25);
	        cp.add(js);
	        
	        lmatricula = new JLabel(" Nº da Matricula");
	        lmatricula.setFont(new Font("Dialog", Font.BOLD, 12));
	        js = new JScrollPane(lmatricula);
	        js.setBounds(10, 195, 100, 25);
	        cp.add(js);
	        
	        tmatricula = new JTextField("0000000000000000");
	        js = new JScrollPane(tmatricula);
	        js.setBounds(140, 195, 130, 25);
	        cp.add(js);
	        
	        slinha.setBounds(10, 230, 370, 20);
	        cp.add(slinha);
	        
	        
	        CmdNossoNumero = new JButton("Nosso Numero");
	        CmdNossoNumero.setBounds(10, 250, 118, 25);
	        CmdNossoNumero.addActionListener(this);
	        CmdNossoNumero.setToolTipText("Indica o noss CNPJ");
	        cp.add(CmdNossoNumero);
	        
	        CmdLinhaLegivel = new JButton("Linha Legivel");
	        CmdLinhaLegivel.setBounds(135, 250, 108, 25);
	        CmdLinhaLegivel.addActionListener(this);
	        CmdLinhaLegivel.setToolTipText("Mostra a linha Legivel");
	        cp.add(CmdLinhaLegivel);
	        
	        CmdCodigoBarras = new JButton("Código de Barras");
	        CmdCodigoBarras.setBounds(250, 250, 135, 25);
	        CmdCodigoBarras.addActionListener(this);
	        CmdCodigoBarras.setToolTipText("Número gerado para o codigo de barras");
	        cp.add(CmdCodigoBarras);
	        
	        tresultado = new JTextField();
	        js = new JScrollPane(tresultado);
	        js.setBounds(10, 280, 375, 35);
	        cp.add(js);     
	        

		}
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() == CmdNossoNumero){
			tresultado.setText("00000000");
			/*GeraArquivo gera = new GeraArquivo(tvalor.getText(), t.getText(), tmoeda.getText(), txtDataVenc.getText(), txtAgCedente.getText(), txtCodCedente.getText(), txtCodMoeda.getText());
			Aguas = new Object(gera.getFileName());
			txtSaida.setText(Aguas.getNossoNumero());*/
			   
		}
		
		if(e.getSource() == CmdLinhaLegivel){
			GeraArquivo gera = new GeraArquivo(tvalor.getText(), tmoeda.getText(), tmedicao.getText(), tdata.getText(), tmatricula.getText());
			//Aguas = new Object(gera.getFileName());
			Aguas = gera.getFileName();
			//tresultado.setText(Aguas.getLinhaDigitavel());
			
		}
		if(e.getSource() == CmdCodigoBarras){
			tresultado = GeraCodigoBarras.main(null);
			
		}
	}
	public static void main(String[] args) {
		Principal app = new Principal();
		app.show();
		
	}

}[/code]

essa é o metodo que vc mandou como eu já disse só mudei o valor do objeto value.

[code]
/**
 * 
 */
package aguas.amazonas;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.swing.JTextField;

import net.sourceforge.barbecue.Barcode;
import net.sourceforge.barbecue.BarcodeFactory;
import net.sourceforge.barbecue.BarcodeImageHandler;

public class GeraCodigoBarras {
	public void  GeraCodigoBarras(String value){  
 	   value = "1234";
        try{  
            Barcode barcode = BarcodeFactory.create3of9(value, false);  
  
            BufferedImage image = new BufferedImage(220, 130, BufferedImage.TYPE_BYTE_GRAY);  
 
           Graphics2D g = (Graphics2D) image.getGraphics();  
            g.setBackground(Color.BLUE);  
  
            barcode.draw(g, 10, 56);  
  
              
           File f = new File(value + ".jpg");  
  
           // Let the barcode image handler do the hard work  
          //BarcodeImageHandler.saveJPEG(barcode, f);  
        }catch(Exception ex){  
            ex.getMessage();  
        }  
    } 
	public static JTextField main(String[] args) {
		GeraCodigoBarras app = new GeraCodigoBarras();
		return null;
		
	}

}
[/code]
Ai vc pode ver que eu importei o[code] import net.sourceforge.barbecue.BarcodeImageHandler;

Me ajuda ai por favor!
bjokas

Amanhã de manhã vou dar uma olhada em todo seu código e tentar descobrir o que há de erro :slight_smile:

Olha copiei tua classe GeraCodigoBarras e tirei o comentário da linha BarcodeImageHandler e deu tudo certo aqui, até com os mesmos imports que você fez e tá tudo normal não tá dando erro em nada o.o

Bom copiei tudo aqui do seu código e encontrei algumas coisas que podem ser o motivo de estar dando errado. Na parte:

if(e.getSource() == CmdCodigoBarras){ tresultado = GeraCodigoBarras.main(null); }
Você não ta chamando o método GeraCodigoBarras dentro da classe GeraCodigoBarras faz um teste assim. Vai na tua classe GeraCodigoBarras e tira o void. Entendeu? Assim você terá um construtor da classe com parâmetro string ai na chamada do método vc passa uma string vazia como parametro, ja que vc ta atribuindo o valor de value dentro do próprio método.

Entendeu?

Ei markin me desculpe não ter respndido antes mas é que não estava na minha maquia, estou na maquina de outa pessoa. Ei mas o problema continua, e é naquela linha será que estou com barbecue errado?
O importe eu fiz correto!
Me da uma idéia ai por favor!!!
Tem alguma coisa que esteja faltando eu fazer???
bjokas

Olha pra falar a verdade eu não sei o que pode ser ^^ pega meu msn e tento te ajudar. Depois vc posta o resultado aqui pra todos aproveitarem.

MSN: marcos.henrique@msn.com

Me add no bate-papo do gmail
sameabrazao@gmai.com
bjokas

Alguem sabe como fazer o barbecue criar a imagem na vertical, em vez de horizontal?

Ae galera uma biblioteca alternativa para Barcode, gostei muito ela caiu certinho no que eu precisava, uma bilioteca que imprima na vertical, e ainda seja compativel com java 1.4 e não utiliza SWING, assim posso rodar ela na J9 da IBM no Windows mobile

http://www.bokai.com

Aproveitando o post…
Alguém sabe como gerar o código de barras sem que na imagem gerada NÃO apareça o número correspondente.
Preciso que apareça somente a imagem do código de barras.

Att, Renata

Renata neste ferramente que citei acima, é possivel, vc seta com true ou false, se quer ou nao que o numero seja exibido, ou de uma forma mais dificil vc pega a imagem e corta a parte onde tah o numero, apenas diminuindo o tamanho da imagem, como o numero vai sempre em baixo do codigo, diminua a altura da imagem e fecho.

E ae galera, há a ferramenta que citei acima é paga e seu tempo de usao é de 28 dias, agora estou atras de uma free, se alguem puder me dar uma dica, preciso de uma biblioteca que rode no java 1.4 e que não utilize swing, pois estrou trabalhando com SWT, alguem ai conhece?

É possivel fazer uso de alguma biblioteca do ireport para contrução de codigos de barras? Valeu!!

Olá galera,

Alguém poderia me dar o link para baixar o pacote barcode2d-fontes.jar ???
É que estou tentando gerar código de barras e preciso do pacote.
Ou se alguém tiver um exemplo completo pode indicar também.
Vlw.

Prciso saber como gerar colocar a imagem, em um label, assim que eu gerei a imagem como eu coloco ela num label onde eu possa imprimir???

rapaz tenho mesmo roblema para resolver.

Galera to tomando o seguinte erro tentando gerar um código de barras no IReport:

2010-17-06 04:17 [ERROR] - Erro durante a execucao do metodo -> GeradorRelatorio.gerarRelatorio(.) - net.sf.jasperreports.engine.JRException: Incompatible com.lowagie.text.pdf.BarcodeInter25 value assigned to parameter codBarras in the Guia_Pagto_Eventos_Contingenciais dataset.
2010-17-06 04:17 [ERROR] - Erro durante a execucao do metodo -> ContaSuprimentoConsultarAction.execute(....) - net.sf.jasperreports.engine.JRException: Incompatible com.lowagie.text.pdf.BarcodeInter25 value assigned to parameter codBarras in the Guia_Pagto_Eventos_Contingenciais dataset.

Alguém sabe me dizer porque???
Estou criando o código de barras da seguinte forma:

			BarcodeInter25 b = new BarcodeInter25();

			StringBuffer stLinhaDigitavel = new StringBuffer();

			stLinhaDigitavel.append((formulario.getCoBarras()).substring(0,11));
			stLinhaDigitavel.append((formulario.getCoBarras()).substring(14,25));
			stLinhaDigitavel.append((formulario.getCoBarras()).substring(28,39));
			stLinhaDigitavel.append((formulario.getCoBarras()).substring(42,53));

			b.setCode(stLinhaDigitavel.toString()); 

e passando pro IReport assim:


parametros.put("codBarras", b);

Será que alguém pode ajudar???

Aonde vejo esse tutorial desse tal Daniel aí?

Quero um ABC sobre isso