Teste de Looping

6 respostas
Rafael_Chaves

Boa tarde Turma.

Sou iniciante em Java. Estou com dificuldades em aprimorar uma tela de login da aplicação que estou criando. O problema em questão, está no momento em que é validado se o login e senha estão corretos. Caso o Login ou senha estejam incorretos, será exibida uma mensagem utilizando JOptionPane.showMessageDialog (Login incorreto!). Porém, ao clicar em “Ok” a janela desta mensagem não fecha.

Poderiam me ajudar com isto? Segue o trecho do código:

private void Log_okActionPerformed(java.awt.event.ActionEvent evt) {

String Usuario,Senha;

Usuario=Log_usr.getText();

Senha=Log_pswd.getText();
while((!"rchaves".equals(Usuario))||(!"admin".equals(Senha))){
        
           if((!"rchaves".equals(Usuario))||(!"admin".equals(Senha))){
               
                JOptionPane.showMessageDialog(null,"LOGIN INVALIDO","Erro de acesso",
                JOptionPane.WARNING_MESSAGE);
                
           } 
           
           else if(("rchaves".equals(Usuario))&&("admin".equals(Senha))){
               
               JOptionPane.showMessageDialog(null,"LOGIN OK","Validação de Login",
               JOptionPane.INFORMATION_MESSAGE);
               
               Tela1 tela;
               tela = new Tela1();
               tela.show();
           }
    }
}

6 Respostas

jks1903

O que deve estar ocorrendo não é que a janela nao fecha e sim está sendo exibida de novo, pois está em um loop.

Você nao poderia tirar isso do loop, visto que pra validar é necessária a interação do usuário enviando login e senha?

Rafael_Chaves

Olá jks1903.

Poderia me dar um exemplo de como ficaria neste código? a lógica ficou um pouco confusa.

War_Paz

Levando em conta que o private void Log_okActionPerformed será executado toda vez que o botão de login seja pressionado, o loop while é inútil

JeffersonMendes
Rafael Chaves:
Olá jks1903.

Poderia me dar um exemplo de como ficaria neste código? a lógica ficou um pouco confusa.

Basta voce tirar o While e tudo resolvido:
if(("rchaves".equals(Usuario))&&("admin".equals(Senha))){ 
        	JOptionPane.showMessageDialog(null,"LOGIN OK","Validação de Login", 
        	JOptionPane.INFORMATION_MESSAGE);
        	}else {
        	JOptionPane.showMessageDialog(null,"LOGIN INVALIDO","Erro de acesso", 
        	JOptionPane.WARNING_MESSAGE); 
        	}
LPJava

Rafael Chaves:
Boa tarde Turma.

Sou iniciante em Java. Estou com dificuldades em aprimorar uma tela de login da aplicação que estou criando. O problema em questão, está no momento em que é validado se o login e senha estão corretos. Caso o Login ou senha estejam incorretos, será exibida uma mensagem utilizando JOptionPane.showMessageDialog (Login incorreto!). Porém, ao clicar em “Ok” a janela desta mensagem não fecha.

Poderiam me ajudar com isto? Segue o trecho do código:

private void Log_okActionPerformed(java.awt.event.ActionEvent evt) {

String Usuario,Senha;

Usuario=Log_usr.getText();

Senha=Log_pswd.getText();
while((!"rchaves".equals(Usuario))||(!"admin".equals(Senha))){
        
           if((!"rchaves".equals(Usuario))||(!"admin".equals(Senha))){
               
                JOptionPane.showMessageDialog(null,"LOGIN INVALIDO","Erro de acesso",
                JOptionPane.WARNING_MESSAGE);
                
           } 
           
           else if(("rchaves".equals(Usuario))&&("admin".equals(Senha))){
               
               JOptionPane.showMessageDialog(null,"LOGIN OK","Validação de Login",
               JOptionPane.INFORMATION_MESSAGE);
               
               Tela1 tela;
               tela = new Tela1();
               tela.show();
           }
    }
}

favor dar uma olhada nesse link: http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

E não abrir mais de 1 post com a mesma dúvida.

Rafael_Chaves

Valew Galera.

As informações foram úteis. Consegui resolver meu problema.

Criado 19 de dezembro de 2012
Ultima resposta 20 de dez. de 2012
Respostas 6
Participantes 5