Olá a todos, com minha aplicação swing, onde há um campo de texto para receber a leitura do leitor, que automaticamente chama o método de consulta. Não entando, só retorna valor nulo. Segue parte da leitura:
Scanner s = new Scanner(System.in);
while(isActive()){
fCodigo.setText(s.toString());
consulta(fCodigo.getText());
fCodigo.addKeyListener(this);
}
Agora, se faço sem a interface:
String codigo;
Scanner s = new Scanner(System.in);
while(Integer.parseInt(s.next())!=-1){
codigo = s.next();
List<Produto> lista = (List<Produto>)dao.verifica(Produto.class,codigo);
for(Produto p : lista){
System.out.println(p.getNome());
}
codigo = s.next();
}
Funciona, no entando preciso fazer a leitura do código 2 vezes!!
Não entendi o porque vc esta lendo o codigo atraves do System.in.
Já usei leitora de códigos de barras uma vez. Pelo que lembro, ela simplesmente escreve o código onde o cursor estiver posicionado. Daí basta vc tratar este evento.
É mococa, hehe, estava fazendo testes (Gambiarra). Então estava lendo o que o leitor lê, e vi que a última coisa que lê é o “Enter”!!. Coloquei em um evento de keylistener, só que ele só aponta para nulo!!
Alguém saberia me dizer qual é a diferença na leitura dos dados entre “new Scanner(System.ini)” e “fieldcomum.getText()”?
Pessoal, tentei fazer com KeyStroke. O problema deu no mesmo!!