Oi Pessoal!
Estou tentando fazer uma tela de login e estou com o seguinte problema:
Ao clicar no botao ok da janela faço o seguinte
if (e.getSource() == btnOk) {
isLogged=false;
String usuario = txtLogin.getText();
String senha = String.valueOf(txtSenha.getPassword());
CtrlUser ctrl = new CtrlUser();
isLogged=ctrl.receber(usuario, senha);
if(isLogged==true){
JOptionPane.showMessageDialog(null, "log");
}
else
JOptionPane.showMessageDialog(null, "negativo");
}
O método receber:
public boolean receber(String usuario, String senha) {
System.out.println("Entrei receber");
lista = buscar();
for (int i = 0; i < lista.size(); i++) {
if (lista.get(i).getUsuario() == usuario
&& lista.get(i).getSenha() == senha) {
// Logado
return true;
}
}
return false;
O método buscar, que vai no banco e retorna dados que estão na tabela de usuários cadastrados, retorna os dados perfeitamente, confirmei debugando o código.
O que está acontecendo é que não entra neste for para fazer a validação. Ao debugar ja vai direto para o return false.
Segue também o código do método buscar.
[code]
public List buscar() {
try {
UserDAO daoUser = new UserDAO();
lista = daoUser.buscarUsuarios();
if (lista == null || lista.size() == 0) {
JOptionPane.showMessageDialog(null, “Não há dados no banco!”);
} else {
JOptionPane.showMessageDialog(null, “Buscou dados!”);
}
} catch (Exception e) {
e.printStackTrace();
}
return lista;
}[/code]
Ao passar neste método, recebo a msg de que buscou os dados.
Obrigado!