Chamar um evento dentro de outro evento

Senha invalida tente novamente

Boa tarde galera tudo joia com vcs? É seguinte estou precisando de uma ajudinha de vcs tenho um código dentro de um KeyPressed eu queria executa esse mesmo código em outro evento tipo assim ao pressionar o enter ele faz uma verificação mas se o usuário não utilizar o enter para pular o campo então não é feito a verificação então queria por esse mesmo código no evento FocusLost tbm sem ter a necessidade de digitar todo o código de novo apenas chamando o evento keyPressed tem como galera, vou posto os código aqui.
Deste já agradeço a todos pela colaboração

private void txtpswdAtualKeyPressed(java.awt.event.KeyEvent evt) { int key = evt.getKeyCode(); if (key == KeyEvent.VK_ENTER) { if (consultarLogin(Ult.pronto.criptografia(txtpswdAtual.getText()))) { JOptionPane.showMessageDialog(this, "metodo alterar senha!"); } else { JOptionPane.showMessageDialog(this, "Senha atual invalida!"); txtpswdNovo.requestFocus(); txtpswdNovo.selectAll(); } } }

Ao meu ver voce nao consegue chamar esse método apartir do listner de lostfocus, pelo fato de lostfocus não ter keyEvent.

Podes criar um método que contem da linha 4 até a 10, e chamar esse método pelo evento de keyPressed e lostFocus

Tipo isso

[code]private void verificacao() {
if (consultarLogin(Ult.pronto.criptografia(txtpswdAtual.getText()))) {
JOptionPane.showMessageDialog(this, “metodo alterar senha!”);
} else {
JOptionPane.showMessageDialog(this, “Senha atual invalida!”);
txtpswdNovo.requestFocus();
txtpswdNovo.selectAll();
}
}

jTextField1.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}

        @Override
        public void keyPressed(KeyEvent evt) {
            int key = evt.getKeyCode();
            if (key == KeyEvent.VK_ENTER) {
                verificacao();
            }
        }

        @Override
        public void keyReleased(KeyEvent e) {
        }
    });

jTextField1.addFocusListener(new FocusListener() {

        @Override
        public void focusGained(FocusEvent e) {
        }

        @Override
        public void focusLost(FocusEvent e) {
                verificacao();
        }
    });[/code]

gaulix

entendi camarada, vou fazer desse jeito ai valeu pela dica

Gaulix, estou com um probleminha tbm nessa função aqui vou lhe passa pra vc ver o q pode esta errado, tenho esse metodo abaixo para verificar o login eu quero usar esse mesmo metodo em outra JDialog mas esta dando um erro

public boolean consultarLogin(String senha, String tela) { boolean res = false; try { List<modelo.Usuario> result = new UsuarioController().VerificarSenha(0, senha, "login"); for (int i = 0; i < result.size(); i++) { id = result.get(i).getId(); nome = result.get(i).getNome(); String senhaBanco = result.get(i).getSenha(); senha = Ult.pronto.criptografia(txtpswd.getText()); nivel = result.get(i).getNivel(); if (senhaBanco.equals(senha)) { res = true; } else { res = false; } } } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Usuário não localizado?\n"+ex); } return res; }
estou chamando ele aqui

private void txtpswdAtualKeyPressed(java.awt.event.KeyEvent evt) { int key = evt.getKeyCode(); if (key == KeyEvent.VK_ENTER) { if (login.consultarLogin(Ult.pronto.criptografia(txtpswd.getText()), "login")) { JOptionPane.showMessageDialog(this, "ok!"); }else{ JOptionPane.showMessageDialog(this, "errado!"); } }
mas esta dando esse erro aqui

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at view.JDialogSenha.txtpswdAtualKeyPressed(JDialogSenha.java:237) at view.JDialogSenha.access$200(JDialogSenha.java:14) at view.JDialogSenha$3.keyPressed(JDialogSenha.java:71) at java.awt.Component.processKeyEvent(Component.java:6463) at javax.swing.JComponent.processKeyEvent(JComponent.java:2829) at java.awt.Component.processEvent(Component.java:6282) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1893) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:752) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1017) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:717)

tem algum objeto que está null, pode ser o login ou o ult, o melhor jeito de arrumar isso é debugando o código, para a execuçao do seu código na linha que está dando o erro, no caso a 237 da classe JDialogSenha e veja qual objeto está null

agora estou de saida mais vou dar uma olhada em casa valeu, qualquer coisa eu te falo blz, tem uma boa noite ate mais