Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Mostrar usuário que foi autenticado no JFrame do Netbeans

Boa noite,

Enquanto estou perguntando aqui sigo pesquisando como fazer também.

Basicamente eu tenho uma tela de login e uma tela principal.

Após eu fazer a autenticação do usuário na tela de login e abrir a tela principal eu gostaria que o usuário que foi autenticado seja exibido em uma JLabel na tela principal.

Alguém consegue me dar uma luz??

• Método de autenticação no controller

public void autenticar() throws SQLException {

        String usuario = view.getjTextFieldUsuario().getText();
        String senha = view.getjTextFieldSenha().getText();

        Usuarios novousuario;
        novousuario = new Usuarios (usuario,senha);

        Connection conexao;
        conexao = ConnectionFactory.getConnection();

        UsuariosDAO usuarioDAO = new UsuariosDAO(conexao);

        boolean existe = usuarioDAO.existeUsuario(novousuario);

        if(existe == true) {

            JOptionPane.showMessageDialog(null,"usuario autenticado");

            usuarioLogado = view.getjTextFieldUsuario().getText();

//            System.out.println("Usuario logado é: "+usuarioLogado);

            TelaPrincipal telaPrincipal = new TelaPrincipal();
            telaPrincipal.setVisible(true);
            view.dispose();

        } else {

            JOptionPane.showMessageDialog(null,"não existe esse usuário no banco");

        }

    }

• Método para verificar a existência do usuário no DAO

public boolean existeUsuario(Usuarios usuario) throws SQLException {

        String sql = "select * from usuarios "
                + "where "
                + "usuario = ? and senha = ? ";

        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1, usuario.getUsuario()); //RETORNA O CAMPO USUARIO
        statement.setString(2, usuario.getSenha()); //RETORNA O CAMPO SENHA

        statement.execute();

        ResultSet resultSet = statement.getResultSet();

        return resultSet.next();

    }

Se repararem no método autenticar() eu até já tinha tentado uns meios de fazer isso.

"// System.out.println("Usuario logado é: "+usuarioLogado);"

O nome do usuário é exibido no console assim que autentica, mas não sei como recuperar esse variável a partir do JFrame.

4 respostas

Rafael,

Você pode passar o usuário no construtor da sua tela principal:

TelaPrincipal telaPrincipal = new TelaPrincipal(usuarioLogado);

E posteriormente você utiliza essa variável, se precisar envie o código da TelaPrincipal.

Opa, vou testar campeão. Muito obrigado.

Assim que eu testar te dou um retorno.

Então, não funcionou

Esse método de autenticar() está na classe TelaLoginController.

Fui na TelaPrincipalAdmin e tentei botar no construtor:

TelaLoginController telaLoginController = new TelaLoginController(usuarioLogado);

mas não funcionou. dá mensagem de erro

solução!

Pesquisando novamente no google acabei de achar uma solução pro meu problema,

No JFrame TelaLogin, no botão de acessar/autenticar eu botei antes da chamada do método de autenticação:

 System.setProperty("login", jTextFieldUsuario.getText());

Agora o JFrame TelaPrincipalAdmin, no construtor eu botei:

        String usuarioLogado = System.getProperty("login");
        jTextFieldUsuarioLogado.setText(usuarioLogado);

Obrigado de qualquer forma por ter tentado ajudar!