Colar String no buffer do teclado

6 respostas
Jeanioz

Pessoal, preciso de uma coisa aparentemente simples. Seria de fato simples se eu soubesse fazer… :roll: :lol:

Eu tenho dois leitores de código de barra. Um é USB e lê o código de barra e joga diretamente no buffer do teclado, imprimindo o código onde o cursor de texto estiver.

O outro leitor é porta serial e precisa se comportar exatamente como o leitor USB. Eu criei um programa java que consegue capturar o código lido da porta serial em formato String. A única coisa que me falta fazer é colar essa String no buffer do teclado.

Busquei pela internet inteira e só achei como copiar caracteres digitados do teclado e jogar em um arquivo texto. Definitivamente não é isso que preciso… :frowning:

Agradeço qualquer ajuda.

6 Respostas

abelgomes

se vc consegue capturar da porta serial, pq nao joga direto no campo? nao entendi direito oq vc quer…

T

Robot.keyPress
Robot.keyRelease

T

Embora, como o abelgomes disse, é melhor você jogar a string diretamente no JTextField (por exemplo).

j.silvestre

Amigos

preciso fazer exatamente isso. vou capturar um dado da serial e jogar no buffer do teclado como se o usuário tivesse pressionado a tecla em questão.
preciso de duas coisas. primeiro a tabela do teclado(keycode) por exemplo :

tecla '1' = VK_NUMPAD1
tecla '2' = Vk_NUMPAD2
etc...

outra coisa preciso gerar o evento de tecla pressionada.

if(buffer.equals ("DOIS")  )  digo que a tecla numero 2 do teclado foi pressionado.


enquanto isso vou pesquisando aqui...



sds


j.silvestre
E

Digamos que o código de barras seja entrado em um JTextField. Normalmente, em uma aplicação que usa códigos de barras, há apenas um campo na tela inteira que consegue ler o código (é claro que há exceções). Se for assim, seu problema é mais simples, porque basta você dar um setText com o código lido no JTextField que é usado para entrar o código de barras.

Se o código de barras puder ser entrado em qualquer lugar da tela (já vi algumas aplicações onde isso é feito - tipicamente quando você tem de cadastrar alguma coisa que tem vários códigos de barra para o mesmo produto na mesma caixa), você pode fazer uma de duas coisas:
a) Checar qual dos campos de entrada tem o foco, e então dar um setText nesse campo com o foco,
ou
b) O que é muito menos robusto, é usar java.awt.Robot para enviar os caracteres teclados. Já adianto que enviar caracteres teclados é bem mais chato que parece.

j.silvestre

entanglement

obrigado pela resposta,
mas devido a caracteristicas do projeto vou ter que usar o java.awt.Robot .

sds

j.silvestre

Criado 10 de dezembro de 2008
Ultima resposta 13 de jul. de 2011
Respostas 6
Participantes 5