Sou inciante em java e to fazendo um sistema de cadastro com jFrame e jInternalFrame,
Tem um botão “LOGAR” com o seguinte código, onde ele pega os valores de um jTextField e de um jPasswordField e compara com duas variáveis Strings. Se eu colocar valores nulos nesssas variáveis ("") ele entra na condição “if”, se eu colocar outro qualquer caractere nas váriaveis (“o”) ele não entra na condição:
String login = "o";
String senha = "o";
String testalogin = jTextField1.getText();
String testasenha =jPasswordField1.getText();
if(((testalogin.equals(login)))&& (testasenha.equals(senha))){
JOptionPane.showMessageDialog(null, "Bem vindo");
}else{
JOptionPane.showMessageDialog(null, "Login ou senha incorreto");
}
Oque tenho que fazer? Obrigado !
Oi, talvez dessa forma fique mais simples fazer o que você deseja:
//Aqui você vai pegar os caracteres dos campos
String a = jTextField.getText();
String b = jPasswordField.getText();
//Você não vai precisar fazer as strings para a comparação, pois a comparação será feita no if
//if ~ else
if(a.equals("alguma coisa") && b.equals("alguma coisa")){
JOptionPane.showMessageDialog(null, "Bem vindo");
}else{
JOptionPane.showMessageDialog(null, "Login ou Senha incorretos!");
}
Note que as suas duas strings de comparação são substituídas pelos valores entre as aspas. Espero ter ajudado.
1 curtida
A própria documentação do JPassword diz para não usar o método getText… ao invés use getPassword
Talvez a senha não está sendo pega corretamente justamente pelo método e por isso não entra no if…
String testasenha =jPasswordField1.getPassword();
2 curtidas
vlw galera!
consegui arrumar aqui !