jTextField1.addFocusListener(newFocusAdapter(){publicvoidfocusLost(FocusEvente){//adicionar sua verificação aquiJOptionPane.showMessageDialog(null,"Teste");}});
marcioa1
Silva,
Código gerado pelo Ve do Eclipse
jTextField.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent e) {
System.out.println("focusLost()"); // TODO Auto-generated Event stub focusLost()
}
});
Márcio
Demorei para puxar o gatilho
silva.fernandes
Beleza Marcio,
Até ai bele …
Mas e agora … como eu pego o valor da JTextField … para q eu possa executar o método q faz a verificação ? …
Putz … to todo colado …rsss
brunoccouto
Esse código pega o valor que está no JTextField, por exemplo se o nome do seu JTextField é text1 vai ficar assim:
text1.getText();
brunoccouto
Deixa eu detalhar mais… se vc quiser pegar o valor do e imprimir na tela por exemplo em uma Janela, o código vai ficar assim:
To postando aqui a parte do código pra pra verem com ficou … e vai q alguem precise deste empurrãozinho …
privateJFormattedTextFieldgetJftfCPF(){if(jftfCPF==null){jftfCPF=newJFormattedTextField(setMascara("###.###.###-##"));jftfCPF.setBounds(newRectangle(235,135,103,20));//somente digitar numerosjftfCPF.addKeyListener(newjava.awt.event.KeyAdapter(){publicvoidkeyTyped(java.awt.event.KeyEvente){charc=e.getKeyChar();if(!Character.isDigit(c)){e.consume();}}});//verifica se o CPF é válidojftfCPF.addFocusListener(newjava.awt.event.FocusAdapter(){publicvoidfocusLost(java.awt.event.FocusEvente){Stringcpf=jftfCPF.getText();if((validaCpf(cpf))){// System.out.println("OK");}else{JOptionPane.showMessageDialog(null,"CPF inválido","ERROR",JOptionPane.ERROR_MESSAGE);jftfCPF.setText("");}}});}returnjftfCPF;}
la.martins
Boa noite pessoal,
Estou precisando da ajuda de vocês aproveitando essa discussão.
Estou tentando tratar a perda do focus, e quando o tamanho do registro for menor que 10 reenvio o focus para o campo enviando uma mensagem. O problema é que este evento esta tratando tando a perda quando o recebimento de focus. Poderiam me ajuda!
O método validate do inputVerifier, se retornar true, fará o JTextField avançar o foco. Caso contrário, o JTextField ficará parado, no mesmo componente. É mais limpo e você evita uma série de problemas relacionados a foco.
edtDataPrevisaoPagamento.addFocusListener(newjava.awt.event.FocusAdapter(){publicvoidfocusGained(java.awt.event.FocusEvente){System.out.println("focusGained()");// TODO Auto-generated Event stub focusGained()}publicvoidfocusLost(java.awt.event.FocusEvente){try{simulacaoPagamentoAVistaController.verificaDataPagamentoInferior(edtDataPrevisaoPagamento.getDate());}catch(SimulacaoPagamentoAVistaDataInferiore1){edtDataPrevisaoPagamento.grabFocus();JOptionPane.showMessageDialog(null,e1.getMessage());}btnConsultar.setEnabled(true);}});}returnedtDataPrevisaoPagamento;}
Simplesmente não executa…
lucas_vieira
Opa valeu galera, fiz umas alterações na minha aplicação e agora as validações são em tempo real
e não na tentativa de cadastrar, ficou muito mais elegante.