Amigo boa tarde, dando uma pesquisada rápida no fórum encontrei isso Saber se tecla tab foi pressionada
Como ela e usada para alterar entre campos o evento disparado vai ser na perda do foco e não na tecla pressionada.
J
jeankarlos
@AntonioSantos eu tentei colocar esse código no construtor e no método que tinha citado acima e nenhum dos dois não funcionou
Se eu coloco naquele método ele com TAB também não imprime nada e com ENTER e Imprime 4x o “bbbb”
privatevoidtxt_Nome_ColaboradorKeyPressed(java.awt.event.KeyEventevt){// TODO add your handling code here:txt_Nome_Colaborador.addKeyListener(newKeyAdapter(){@OverridepublicvoidkeyPressed(KeyEvente){System.out.println("bbbb");if(e.getKeyCode()==KeyEvent.VK_TAB){System.out.println("aaaaa");}}});}
@AntonioSantos talvez você consiga fazer oque eu quero fazer sem precisar de fazer esse método o que eu preciso e que quanto eu esteja naquela caixa de texto a hora que clicar no tab o focus vá para um botão.
Se quer fazer isso de forma simples e com evento faça assim:
textField.addFocusListener(new FocusListener() { @Override
public void focusLost(FocusEvent e) {
button.requestFocus();
} @Override
public void focusGained(FocusEvent e) {}
});
D
Daniel95
Ou se nem for utilizar o focusGained pode utilizar um FocusAdapter invés da interface:
textField.addFocusListener(new FocusAdapter() { @Override
public void focusLost(FocusEvent e) {
button.requestFocus();
}
});
J
jeankarlos
o 1 caso que você me passou já funcionou e melhor usar ele ou o segundo que você acabou de passar?
o segundo também funcionou
D
Daniel95
Se for utilizar só o método focusLost pode utiizar o segundo mesmo, evita de sobrescrever explicitamente o segundo método como no primeiro caso.
J
jeankarlos
Obrigado @Daniel95 mais uma vezes me ajudando e irei utilizar o segundo então
J
jeankarlos
@Daniel95 deixa te perguntar eu necessitei fazer esse mesmo código mais 2 vezes sendo que 1 funcionou e outra não de 3 duas funcionou e outra não e o pior que ta sendo o bug se eu colocar um JOptionPane.showMessageDialog depois do botão ele funciona mais tenho que dar enter.
Se eu tiro ele o JOptionPane.showMessageDialog(null, “Excluído”); ele vai para outro txt ao invés do botão
D
Daniel95
Não entendi qual o problema e nem qual o objetivo.
Por favor explique o que ta acontecendo e o que você quer que aconteça e por que tem um JOptionPane aí?
J
jeankarlos
Bom dia @Daniel95 eu justamnete nao quero que aconteça e passar o focus do txt_descricao_Operacao para o btn_Pesquisa_Operacao porem ele se eu faço o código certinho ele vai para outro txt_ID_Ordem_Producao e se caso eu coloco o JOptionPane apois chamar o focus para o botão dai funciona.
Eu tambem tentei colocar o focus em outro txt o txt_Quantidade para ver se ia e deu o mesmo erro e foi para o txt_descricao_Operacao.
D
Daniel95
Não entendi o que está acontecendo e nem o que você quer que aconteça, você disse que não quer que o Focus vá do JTextField ao JButton mas se você coloca um JOptionPane ele vai para o JButton? Mas você quer ou não que vá e pra onde?
Poste o código do que você fez e descreva o que está acontecendo e o que você quer que aconteça (Não o que você fez, mas o resultado que pretende obter).
J
jeankarlos
Ola @Daniel95 eu queria justamente que fosse ate o botão só que sem ser necessário colocar o JOptionPane eu ja consegui sozinho eu apaguei JTextField e criei outro com outro nome e funcionou deve que tava com algum bug
J
jeankarlos
@Daniel95 estou com mesmo erro novamente sobre o focus com tab
estou usando esse código para ir para o próximo jTextField
Dessa forma o focus esta indo para outra jTextField vai para a quantidade e não para o ID_Ordem_Producao e quando eu faço a sim ele funciona coretamente.