Tela de Login com String

2 respostas Resolvido
lucksmack

Olá, me ajudem por favor.

Abaixo esta um código para validar duas strings em uma tela de login. Porém, a validação do IF com senha e login corretos só funciona na primeira tentativa. Na segunda, mesmo login e senha estando corretos, ela não valida como correto.

private void jb_LoginActionPerformed(java.awt.event.ActionEvent evt) {
	if (evt.getSource() == jb_Login)
		//Comparação entre Strings, usar: variavel.equals (outra variável)
		if (senha.equals(jp_senha.getText()) && login.equals(tf_login.getText())) {
			JOptionPane.showMessageDialog(null,"Acesso Permitido");
			jp_senha.setText(null);
			tf_login.setText(" ");
			tf_login.requestFocus();
		} else {
			JOptionPane.showMessageDialog(null,"Login ou Senha Incorretos");
			jp_senha.setText(null); // para limpar completamente o campo senha, usar o NULL
			tf_login.setText(" ");
			tf_login.requestFocus();
		}

O que estou fazendo de errado amigos???

2 Respostas

Jonas_B_a_r_r_o_s

Acho que você não deveria colocar null em jp_senha.setText(null);
Já testou com as aspas duplas tmbm? Colocando o null, acho que você está deixando o objeto nulo obviamente, mas não está instanciando um novo ao digitar uma nova senha

lucksmack
Solucao aceita

Olá Parceiro

A questão das aspas e do null, funciona do mesmo jeito. Porém encontrei a solução, veja como foi simples:

tirei o bloco de limpeza dos campos (os textfields) de dentro dos ifs e joguei eles uma vez apenas, depois o ultima última chave do else.

Batata rrss.

Obrigado por sua ajuda.

Criado 11 de agosto de 2016
Ultima resposta 12 de ago. de 2016
Respostas 2
Participantes 2