[Ajuda] Como trocar o foco automaticamente?

4 respostas Resolvido
java
G

Estou desenvolvendo um sistema para controle de saída de notas fiscais na empresa que eu trabalho e sou bem iniciante em Java, comecei estudar a pouco tempo.

Estou trabalhando em uma ferramenta onde o usuário entra com a chave de acesso da nota fiscal usando um leitor de código de barras. Meu objetivo é que o número da nota, presente na chave de acesso, seja registrado em uma variável quando o usuário fizer a leitura dos 44 dígitos da chave. Armazenando no banco tanto a chave quanto o número da nota individualmente, que será usado como chave primária para consulta mais tarde.

A solução mais fácil que achei foi dividir a chave em vários jFormattedFields independentes, um ao lado do outro, onde em um deles fica somente o número da NF. Entretanto, não consigo de jeito nenhum fazer a transferência do foco automaticamente do primeiro campo para o segundo, e assim por diante, para que a leitura possa ser feita com o leitor de código de barras.

Alguém pode me auxiliar?

Desde já obrigado, e desculpem qualquer coisa, é meu primeiro post no site.

4 Respostas

A

Boa noite amigo, até onde eu sei não é possível mudar o foco automaticamente, mas você já pensou em recuperar toda a chave e no próprio código separar ela, no cose já estando setado na variável pegar o numero da nota, pois o numero da sua nota deve tem um tamanho fixo.

Bom foi uma dica espero ter ajudado.

G

Sim, na verdade eu tinha pensado em fazer isso, mas não faço ideia de como separar uma parte específica de uma String e armazenar em uma variável…
O número da nota é sempre composto por 9 dígitos em um ponto específico da chave.

A
Solucao aceita

Fácil, você vai usar o método ‘substring’ da classe String.
Por exemplo, vamos supor que os numero que você deseja salvar como chave seja o 6789.

String nota = "123456789";
nota.substring(5, 9);

A partir da sua chave setada em uma String você chama o método substrig passando como parâmetro a posição inicial ate o limite que você deseja, no caso eu queria a partir do 5 até o 9, e ele me retornará o 6789. Para facilitar use um sysout para facilitar seus testes dessa forma.

System.out.println(nota.substring(5, 9));
G

Alex, perfeito!

Não conhecia o método substring, funcionou perfeitamente aqui.

Muito obrigado pela ajuda, abraços!

Criado 6 de junho de 2017
Ultima resposta 7 de jun. de 2017
Respostas 4
Participantes 2