Tem como quando eu disparar a string do cdigo de barras executar um evento automaticamente para retornar
um produto cadastrado sem a necessidade de mouse ou teclado?
Tentei colocar um KeyTyped, mas o evento dispara logo no primeiro numero que aparece.
Tem como faze isso? Como?
[quote=Eric Yuzo]Os leitores que vi (tipo CCD), retornavam o código lido e um sinal de enter em seguida. Assim, um ActionListener resolveria.
Não sei se todos se comportam desta forma, mas verifique se o leitor que está utilizando não tem o mesmo tipo de retorno.[/quote]
Todos tem um manual com uma série de código de barras para configuração que permite colocar os caracteres de final de linha (CRLF) no final da leitura para isso.
Legal, assim não tem problema de ficar dependente do leitor, bastaria ajustar as configurações. Eu estou mal acostumado quanto a isso, porque as configurações que vem por padrão, atendiam os requisitos do projeto. Só olhei o manual mesmo para desabilitar o bip, que na hora dos testes enchia o saco :lol:
CR = Carrier Return - Retorno de Carro ou vulgo “Enter” representado por 13 em decimal LF = Line Feed - Alimentação de linha - 10 Decimal
Eles são usados em conjunto para indicar em um texto que uma nova linha deve ser acrescenta.
Você pode monitorar o final da sua String para ver se tem esses dois caracteres e ai disparar uma ação!
O leitor de código de barras é como um teclado normal na visão do Java.
Simplificando as ideias acima o leitor “da um enter” depois de ler código de barras.
Assim vc pode usar o keytyped (em teoria pq eu nunca consegui usar), mas verifique no parametro passado para o evento se a tecla foi enter (que quer dizer que ja leu tudo)
Minha opnião é trocar o keytyped para o keyPressed e verificar se é enter
public void keyPressed(KeyEvent e)
{
if (e.getKeyCode() == KeyEvent.VK_ENTER)
{
System.out.println("me apaga e escreve seu código aqui!");
}
}