Apanhando para o getText(). equals() ,onde está o erro?

2 respostas
programaçãojava
E

Bom dia povo genial, tudo bem? Criei esse método para logar e coloquei em um evento de um botão , a IDE não apresenta nenhum erro sobre ele. mas quando executo, ele não aceita as condições do if , vai direto pro else. onde estou errando?
Agradeço desde já!

public void login() {
	if(a.getText().equals("user") && b.getText().equals ("123")) {
		JOptionPane.showMessageDialog(this,"Logado com Sucesso!")  ;
	} else {
		JOptionPane.showMessageDialog(this,"Usuário / Senha Inválidos!");
	}
};

2 Respostas

D

Vamos por partes.
O que seriam “a” e “b”? JTextFields? Qual a razão em não colocar nomes descritivos e de fácil entendimento, como

JTextField txtUsuario;

Por exemplo?

Já imprimiu os valores de cada um deles, isoladamente, para verificar se as validações estão corretas?
Aproveitando isso, é melhor colocar o valor conhecido como o item com o qual os demais valores são comparados:

if("user".equals(txtUsuario.getText() && "123".equals(txtSenha.getText())) {

Ou, como eu faria:

String user = txtUsuario.getText();
String senha = txtSenha.getText();

if("user".equals(user) && "123".equals(senha)) {

Na verdade, eu definiria constantes…

E

putz , eu não sabia declarar constantes! ficou certo agora! muito obrigado meu amigo!

Criado 12 de fevereiro de 2018
Ultima resposta 13 de fev. de 2018
Respostas 2
Participantes 2