| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2009 17:05:47
|
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2009 17:12:04
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2009 17:16:00
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2009 17:24:25
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2009 17:25:50
|
michaelwillian
Debugger
Membro desde: 05/12/2008 22:02:25
Mensagens: 74
Offline
|
aaa entendi!
vlw pela ajuda. então, problema resolvido.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2009 17:27:35
|
fdettoni
JavaChild
![[Avatar]](/images/avatar/b3ddb7c5b10be95dbc3f9152c58becce.jpeg)
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) |
|
|
 |
|
|