Olá pessoal!
Preciso que, ao pressionar “ENTER” verifique se o campo está vazio (se estiver mostrar uma mensagem) se não mudar o FOCO para o campo seguinte.
Olhando os tópicos, encontrei o seguinte código
link: http://www.guj.com.br/java/252653-jtextfield—enter—proximo-foco
//Autor: fernandopaiva
public void passaCamposComEnter(JPanel painel){
// Colocando enter para pular de campo
HashSet conj = new HashSet(painel.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
conj.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER, 0));
painel.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, conj);
}
Esse código realmente funciona, mas não consigo validar os campos se estão vazios, pois quando crio o evento para verificar, não funciona, é como se esse método sobrescrevesse o evento
Criei o evento assim:
jTextField.addKeyListener(new java.awt.event.KeyAdapter(){
public void keyPressed(KeyEvent evt){
if(evt.getKeyCode() == KeyEvent.VK_ENTER){
if(jTextField.getText().equals("")){
JOptionPane.showMessageDialog(null, "Campo inválido");
}
}
}
});
O estou chamando o método passaCamposComEnter ao criar meu JFrame.
Gostaria de criar algo que fosse global, para que eu possa utilizar em todos os frame que criar.
Se alguém poder me ajudar, ficarei grato.