Limitar Tentativas de Acesso no Login

Galera, é o seguinte, tenho o seguinte método e preciso determinar um limite de tentativas tipo 3 por exemplo. A cada erro ele me informa o erro e a tentativa, até atingir o limite máximo onde ele me informa que foi excedido e encerra a aplicação…

public void OK() {
            if (jtxtUsuario.getText().equals("DENIR")) {
                if (jtxtSenha.getText().equals("123456")) {
                    Principal principal = new Principal();
                    principal.setExtendedState(MAXIMIZED_BOTH);
                    principal.setVisible(true);
                    dispose();
                } else {
                    JOptionPane.showMessageDialog(null, "Senha Inválida!", "Atenção", JOptionPane.ERROR_MESSAGE);
                    jtxtSenha.setText("");
                    jbtnOK.setEnabled(false);
                    jtxtSenha.requestFocus();
                }
            } else {
                JOptionPane.showMessageDialog(null, "Usuário Inexistente ou Desativado!" + "\n" + "Contacte o Administrador do Sistema.", "Atenção", JOptionPane.ERROR_MESSAGE);
                jtxtSenha.setText("");
                jbtnOK.setEnabled(false);
                jtxtUsuario.setText("");
                jtxtSenha.setEditable(false);
                jtxtUsuario.requestFocus();
            }
        }

Olá

Coloca uma variável contadora do tipo int entre as linhas 9 e 12. Quando está chegar em 3 você mostra a mensagem de bloqueio.

[code]public void OK() {
int tentativa=0;
if (jtxtUsuario.getText().equals(“DENIR”)) {
if (jtxtSenha.getText().equals(“123456”)) {
Principal principal = new Principal();
principal.setExtendedState(MAXIMIZED_BOTH);
principal.setVisible(true);
dispose();
} else {
JOptionPane.showMessageDialog(null, “Senha Inválida!”, “Atenção”, JOptionPane.ERROR_MESSAGE);
jtxtSenha.setText("");
jbtnOK.setEnabled(false);
jtxtSenha.requestFocus();
tentativa++;
}
}

         if(tentativa == 3){
            JOptionPane.showMessageDialog(null, "Usuário Inexistente ou Desativado!" + "\n" + "Contacte o Administrador do Sistema.", "Atenção", JOptionPane.ERROR_MESSAGE);  
            jtxtSenha.setText("");  
            jbtnOK.setEnabled(false);  
            jtxtUsuario.setText("");  
            jtxtSenha.setEditable(false);  
            jtxtUsuario.requestFocus();  
         } 
         }
    [/code]

Nao sei se é isso que voc~e quer mas a ideia é essa… colocar uma variavel para fazer o controle, quem nem nosso amigo disse…
.abraços

[quote=d34d_d3v1l]Nao sei se é isso que voc~e quer mas a ideia é essa… colocar uma variavel para fazer o controle, quem nem nosso amigo disse…
.abraços[/quote]

Então olha só o que eu fiz, mas o contador não sai do 1.

public void OK2() {
        int conTentativa = 0;
        if (conTentativa < 4) {
            if (jtxtUsuario.getText().equals("DENIR")) {
                if (jtxtSenha.getText().equals("123456")) {
                    Principal principal = new Principal();
                    principal.setExtendedState(MAXIMIZED_BOTH);
                    principal.setVisible(true);
                    this.dispose();
                    JOptionPane.showMessageDialog(null, "Acesso ao sistema liberado e registrado para!",
                                                  "Bem Vindo", JOptionPane.PLAIN_MESSAGE);
                } else {
                    conTentativa++;
                    JOptionPane.showMessageDialog(null, "Senha Inválida!" +
                                                  "\n" + "Essa é a sua " + conTentativa + "ª tentavia.",
                                                  "Atenção", JOptionPane.ERROR_MESSAGE);
                    jtxtSenha.setText("");
                    jbtnOK.setEnabled(false);
                    jtxtSenha.requestFocus();
                }
            } else {
                conTentativa++;
                JOptionPane.showMessageDialog(null, "Usuário inexistente ou desativado!" +
                                              "\n" + "Contacte o administrador do sistema." +
                                              "\n" + "Essa é a sua " + conTentativa + "ª tentavia.",
                                              "Atenção", JOptionPane.ERROR_MESSAGE);
                jtxtSenha.setText("");
                jbtnOK.setEnabled(false);
                jtxtUsuario.setText("");
                jtxtSenha.setEditable(false);
                jtxtUsuario.requestFocus();
            }
        } else {
            JOptionPane.showMessageDialog(null, "Limite de tentativas excedidas!" +
                                          "\n" + "Contacte o administrador do sistema." +
                                          "\n" + "Para sua segurança o sistema será encerrado.",
                                          "Atenção", JOptionPane.ERROR_MESSAGE);
        }
    }

I ai como resolver???

Pessoal, resolvi o problema, muito obrigado pela atenção de todos, eu estava inicializando a variável contadora dentro do método por isso ela reiniciava a cada erro de tentativa a solução foi declarar fora do método dai assim resolveu o problema.

VALEU!