Problemas com tela de login....pra chamar outra tela

3 respostas
A

Boa tarde galera, to com um probleminha aqui, criei uma tela de login e um botao para logar, e dentro dessa botao eu coloquei um actionPerformed pra fazer a verificação dos dados para que assim o usuário possa ou nao logar no sistema, mas dentro do evento, após fazer a verificação conecta no banco de dados mas nao redireciona para a outra tela... vo postar os métodos que estou utilizando!!!

MÉTODO E ACÃO DO BOTAO
private void bt_logarActionPerformed(java.awt.event.ActionEvent evt) {

          if(evt.getSource() == bt_logar){
              LoginNegocio log = new LoginNegocio();
            try {
                List<Login> lista = log.autenticarLogin(tf_usuario.getText(), tf_senha.getText());
                for(Login login : lista){
                    String usuario = login.getUsuario();
                    String senha = login.getSenha();

                    if((tf_usuario.getText() == usuario) & (tf_senha.getText() == senha)){
                          new Frame().setVisible(true);//ESSA É A LINHA QUE SUPOSTAMENTE CHAMA A OUTRA FRAME
                        
                    }
                }
            } catch (SQLException ex) {
                Logger.getLogger(TelaLogin.class.getName()).log(Level.SEVERE, null, ex);
            }
              
          }
    }
REGRA DE NEGÓCIO
package Negocio;

import Banco.loginDAO;
import java.sql.SQLException;
import java.util.List;


public class LoginNegocio {

    public List<Login> autenticarLogin(String usuario , String senha) throws SQLException{

        Login login = new Login(usuario,senha);
        loginDAO dao = new loginDAO();
        return dao.buscarLogin(login);

    }

}
MÉTODO DAO
package Banco;

import Negocio.Login;
import java.sql.*;
import java.util.ArrayList;

import java.util.List;


public class loginDAO {

    public List<Login> buscarLogin(Login login) throws SQLException{

       Connection conn = Conexao.getConexao();
       String sql = "select * from login where usuario=? and senha=?";
       PreparedStatement stmt = conn.prepareStatement(sql);

       stmt.setString(1,login.getUsuario());
       stmt.setString(2, login.getSenha());
       ResultSet rs = stmt.executeQuery();

       List<Login> lista = new ArrayList<Login>();

       while(rs.next()){

           Login log = new Login(rs.getString("usuario"),rs.getString("senha"));
           lista.add(log);
       }
       rs.close();
       stmt.close();
       return lista;

    }

}
VLW POVO.... :-o

3 Respostas

Gerson_da_S_Lima

Pelo código que você postou não estou venda nada de pra abrir a outra tela que você menciona, tipo um new algumaClasse, ou chamando algum método. Tenta olhar o código melhor.

A
vo comentar a linha que supostamente chama a outra Frame
view plaincopy to clipboardprint?
private void bt_logarActionPerformed(java.awt.event.ActionEvent evt) {   
  
         if(evt.getSource() == bt_logar){   
             LoginNegocio log = new LoginNegocio();   
           try {   
               List<Login> lista = log.autenticarLogin(tf_usuario.getText(), tf_senha.getText());   
               for(Login login : lista){   
                   String usuario = login.getUsuario();   
                   String senha = login.getSenha();   
  
                   if((tf_usuario.getText() == usuario) & (tf_senha.getText() == senha)){   
                         new Frame().setVisible(true);// ESSA É A LINHA ONDE SUPOSTAMENTE IRÁ CHAMAR A OUTRA FRAME
                   }   
               }   
           } catch (SQLException ex) {   
               Logger.getLogger(TelaLogin.class.getName()).log(Level.SEVERE, null, ex);   
           }   
               
         }   
   }
TA AI, MAS FAZ O PROCESSO TODO DE BOA, MAS NAO CHAMA A OUTRA TELA, SERÁ POR QUE????
kemperacc
/*
                    if((tf_usuario.getText() == usuario) & (tf_senha.getText() == senha)){     
                          new Frame().setVisible(true);// ESSA É A LINHA ONDE SUPOSTAMENTE IRÁ CHAMAR A OUTRA FRAME  
                    }     
*/

                    if((tf_usuario.getText() == usuario) && (tf_senha.getText() == senha)){     
                          new Frame().setVisible(true);// ESSA É A LINHA ONDE SUPOSTAMENTE IRÁ CHAMAR A OUTRA FRAME  
                          break;
                    }

Se a comparacao que voce ta querendo fazer é do tipoi AND, são dois &&

[]s

Kemper

Criado 10 de março de 2010
Ultima resposta 11 de mar. de 2010
Respostas 3
Participantes 3