código de barras[RESOLVIDO]  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
michaelwillian
Debugger

Membro desde: 05/12/2008 22:02:25
Mensagens: 74
Offline

Bom, pelo que li em tutoriais na net, percebi que quando lido o código de barras, o sistema operacional retorna uma "String". Alguém sabe como executar uma função quando lido essa String?

pois se um campo JTextField por exemplo está com focus(), ele recebe essa String, é como se o usuário digitasse no teclado. Como eu faria para executar uma função quando inserida essa String?

abraço

This message was edited 1 time. Last update was at 28/08/2009 17:26:43

Fernando Generoso da Rosa
Virtual Machine Man

Membro desde: 14/01/2003 14:48:21
Mensagens: 555
Localização: Sombrio/SC
Offline

Então,

O leitor de código de barras joga essa string no JTextField e envia o comando da tecla "Enter"...É só voce tratar o evento keyPressed desse JTextField e verificar se a tecla é o "Enter", VK_ENTER, se não me engano...

Fernando
[Email] [MSN]
michaelwillian
Debugger

Membro desde: 05/12/2008 22:02:25
Mensagens: 74
Offline

eu tinha pensad assim, fika bem prático também, mas eu precisava mostrar valores na tela sem precisar pressionar o Enter do teclado. Como se fosse Ajax para web. se alguém souber agradeço

Obrigado Fernando
Fernando Generoso da Rosa
Virtual Machine Man

Membro desde: 14/01/2003 14:48:21
Mensagens: 555
Localização: Sombrio/SC
Offline

como eu falei...o próprio leitor "pressiona" o Enter...ele envia um comando e o sistema interpreta como se o Enter tivesse sido pressionado. O leitor de Código de barras faz isso.

Fernando
[Email] [MSN]
michaelwillian
Debugger

Membro desde: 05/12/2008 22:02:25
Mensagens: 74
Offline

aaa entendi!

vlw pela ajuda. então, problema resolvido.
fdettoni
JavaChild
[Avatar]

Membro desde: 12/04/2006 11:29:50
Mensagens: 132
Localização: Florianópolis-SC
Offline

Se vc pesquisar na internet vai ver muita gente recomendando como solução para isto a utilização de leitores Serial, mas hoje com o USB tão difundido isso ia restringir demais a gama de leitores que podem ser utilizados.

Um meio de resolver o problema é criar um Keyboard Hook, em C, no Windows, que chame algum procedimento quando uma certa quantidade de teclas for pressionada em um tempo muito pequeno. Tem o problema que o tamanho do código de barras deve ser sempre o mesmo, e a solução é dependente de sistema operacional, mas quando tive este mesmo problema, esta solução serviu para mim.

Se todo código de barra for inserido com o programa java aberto, não é necessário um JTextField, pois qualquer componente aceita um KeyListener.

Eu passei dias pesquisando sobre isso e não encontrei um meio simples, ou que se adequasse a todas as situações, então tive de limitar o tamanho do código de barras e criar o keyboard hook.

KISS(Keep It Simple, Stupid)
[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team