Lógica Métodos

5 respostas
D

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.

public List<Usuario> 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;
	}

Ao passar neste método, recebo a msg de que buscou os dados.

Obrigado!

5 Respostas

leoviniga

Porque não fazer um For-each já que você está utilizando List?
Assim se pular o for significa que a lista está vazia…

for (Usuario usuario : lista){
      //Verifica 
}
D

Não conhecia esse recurso.
Mas obrigado, vou tentar!

drsmachado

Ahn?

drsmachado

leoviniga:
Porque não fazer um For-each já que você está utilizando List?
Assim se pular o for significa que a lista está vazia…

for (Usuario usuario : lista){ //Verifica }

Lembrando que isto vale apenas para JDK 1.5 ou superior.

ViniGodoy

Movida essa dúvida de interface gráfica para o fórum de interface gráfica. Por favor, leia atentamente a descrição dos fóruns antes de postar.

Criado 24 de maio de 2011
Ultima resposta 24 de mai. de 2011
Respostas 5
Participantes 4