Alguém consegue me ajudar a saber como colocar o nome do usuário cadastrado no banco na tela Swing java

11 respostas
java
E

Bom pessoal, eu desenvolvi um sistema para engenharia elétrica, que após passar pela etapa de login, nós temos acesso a essa Swing. Abaixo da tela inicial, eu gostaria de colocar um campo onde mostre o nome do respectivo usuário cadastrado


No código abaixo, eu estarei disponibilizando a minha conexão, banco e o código da minha swing.

11 Respostas

E

Abaixo, eu tenho a tela de login

package projeto;

import java.sql.SQLException;

import javax.swing.JOptionPane;

import projeto.Dao.Conexao;

import projeto.Dao.UsuariosDao;
public class Inicial extends javax.swing.JFrame {

UsuariosDao p = new UsuariosDao();

public Inicial()

{

initComponents();

}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jPanel1 = new javax.swing.JPanel();
    jLabel1 = new javax.swing.JLabel();
    jLabel2 = new javax.swing.JLabel();
    jLabel3 = new javax.swing.JLabel();
    jPanel3 = new javax.swing.JPanel();
    jLabel_Nome = new javax.swing.JLabel();
    Txt_Email = new javax.swing.JTextField();
    jLabel_Senha = new javax.swing.JLabel();
    Txt_Senha = new javax.swing.JPasswordField();
    jLabel4 = new javax.swing.JLabel();
    btn_PrimeiroAcesso = new javax.swing.JButton();
    jPanel2 = new javax.swing.JPanel();
    jButton_Entrar = new javax.swing.JButton();
    btn_Sair = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jPanel1.setBackground(new java.awt.Color(0, 46, 72));
    jPanel1.setForeground(new java.awt.Color(255, 255, 188));

    jLabel1.setFont(new java.awt.Font("Arial", 1, 19)); // NOI18N
    jLabel1.setForeground(new java.awt.Color(255, 255, 255));
    jLabel1.setText("SISTELE BETA V1.0");

    jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/swing/images/ico3.png"))); // NOI18N

    jLabel3.setFont(new java.awt.Font("Arial", 1, 24)); // NOI18N
    jLabel3.setForeground(new java.awt.Color(255, 255, 255));
    jLabel3.setText("TELA DE LOGIN");

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addGap(35, 35, 35)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                .addComponent(jLabel3)
                .addComponent(jLabel1))
            .addGap(18, 18, 18)
            .addComponent(jLabel2)
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );
    jPanel1Layout.setVerticalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addComponent(jLabel3)
                    .addGap(7, 7, 7)
                    .addComponent(jLabel1))
                .addComponent(jLabel2))
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );

    jPanel3.setBackground(new java.awt.Color(255, 255, 255));

    jLabel_Nome.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jLabel_Nome.setText("E-Mail:");

    jLabel_Senha.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
    jLabel_Senha.setText("Senha:");

    jLabel4.setFont(new java.awt.Font("Arial", 0, 11)); // NOI18N
    jLabel4.setForeground(new java.awt.Color(255, 0, 0));
    jLabel4.setText("Primeiro Acesso ? ");

    btn_PrimeiroAcesso.setFont(new java.awt.Font("Arial", 1, 11)); // NOI18N
    btn_PrimeiroAcesso.setText("Clique Aqui");
    btn_PrimeiroAcesso.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            btn_PrimeiroAcessoActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
    jPanel3.setLayout(jPanel3Layout);
    jPanel3Layout.setHorizontalGroup(
        jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel3Layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(Txt_Email)
                .addComponent(Txt_Senha)
                .addGroup(jPanel3Layout.createSequentialGroup()
                    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel_Senha)
                        .addComponent(jLabel_Nome, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(jPanel3Layout.createSequentialGroup()
                            .addComponent(jLabel4)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(btn_PrimeiroAcesso)))
                    .addGap(0, 0, Short.MAX_VALUE)))
            .addContainerGap())
    );
    jPanel3Layout.setVerticalGroup(
        jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel3Layout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jLabel_Nome)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addComponent(Txt_Email, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jLabel_Senha, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addComponent(Txt_Senha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(18, 18, 18)
            .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel4)
                .addComponent(btn_PrimeiroAcesso))
            .addContainerGap(34, Short.MAX_VALUE))
    );

    jPanel2.setBackground(new java.awt.Color(255, 255, 255));

    jButton_Entrar.setBackground(new java.awt.Color(255, 255, 255));
    jButton_Entrar.setFont(new java.awt.Font("Arial", 1, 11)); // NOI18N
    jButton_Entrar.setText("Entrar");
    jButton_Entrar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton_EntrarActionPerformed(evt);
        }
    });

    btn_Sair.setBackground(new java.awt.Color(255, 255, 255));
    btn_Sair.setFont(new java.awt.Font("Arial", 1, 11)); // NOI18N
    btn_Sair.setText("Sair");
    btn_Sair.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            btn_SairActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel2Layout.createSequentialGroup()
            .addGap(20, 20, 20)
            .addComponent(jButton_Entrar, javax.swing.GroupLayout.PREFERRED_SIZE, 116, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(btn_Sair, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(24, 24, 24))
    );
    jPanel2Layout.setVerticalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel2Layout.createSequentialGroup()
            .addContainerGap(23, Short.MAX_VALUE)
            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jButton_Entrar, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(btn_Sair, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(19, 19, 19))
    );

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(0, 0, Short.MAX_VALUE))
        .addGroup(layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    );

    pack();
}// </editor-fold>                        

private void jButton_EntrarActionPerformed(java.awt.event.ActionEvent evt) {                                               
    try {
        Conexao c = new Conexao();
        c.conectar();
        p.pesquisarPorNome(Txt_Email.getText());
        p.rs.first();
        if(p.rs.getString("senha").equals(Txt_Senha.getText())){
            
                Index inicial = new Index();
                inicial.setVisible(true);
                dispose();
        }else{
            JOptionPane.showMessageDialog(rootPane, "Usuario ou senha inválidos");
        }
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(rootPane, "Usuarios ou sennha invalidos"+ex.getMessage());
    }
}                                              

private void btn_SairActionPerformed(java.awt.event.ActionEvent evt) {                                         
    switch (JOptionPane.showConfirmDialog(null, "Deseja 'sair' do sistema?")) {
        case 0:     
            System.exit(0);
        case 1:
            break;
        case 2:
            break;
    }
}                                        

private void btn_PrimeiroAcessoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
             Conta primeiroAcesso = new Conta();
                primeiroAcesso.setVisible(true);
                dispose();       
}                                                  


public static void main(String args[]) {

    try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(Inicial.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    

  
    java.awt.EventQueue.invokeLater(() -> {
        new Inicial().setVisible(true);
    });
}

// Variables declaration - do not modify                     
private javax.swing.JTextField Txt_Email;
private javax.swing.JPasswordField Txt_Senha;
private javax.swing.JButton btn_PrimeiroAcesso;
private javax.swing.JButton btn_Sair;
private javax.swing.JButton jButton_Entrar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel_Nome;
private javax.swing.JLabel jLabel_Senha;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
// End of variables declaration

}

J

Passa pra sua tela principal um parâmetro com o dado do usuário que você quer apresentar, por exemplo exibir o e-mail do usuário logado em um label na tela principal.

Exemplo:

String email = Txt_Email.getText();

Index inicial = new Index(email);

Lá na sua tela principal você cria um construtor que recebe isso como parâmetro:

public Index(String email) {
    initComponents();
    label.setText(email);
}
E

Essa é a minha conexão com o banco
/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package projeto.Dao;
import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

/**
*

  • @author Cliente
    
    */
    
    public class Conexao {
    
    private static String connectionString = jdbc:postgresql://localhost:5432/Engenharia”;
    
    private static String usuario = postgres;
    
    private static String senha = root;
    
    public ResultSet rs;
    
    public Connection con;
    
    public Statement stm;
    
    public static Connection conectar(){
    
    try{
    
    Class.forName(org.postgresql.Driver);
    
    return DriverManager.getConnection(connectionString, usuario, senha);
    
    }catch(Exception ex){
    
    System.out.println("Erro ao conectar: " +ex.getMessage());
    
    return null;
    
    }
    

    }

    public static void desconectar(Connection con){
    
    try{
    
    con.close();
    
    }catch(SQLException ex){
    
    System.out.println(Erro ao desconectar+ex.getMessage());
    
    }
    
    }
    
    }
    
J

Sim, eu já compreendi, te mostrei como tu faria, só que com o exemplo do e-mail!

Pense comigo, tu faz uma consulta no banco pra validar se a senha do usuário confere certo?
Faça essa consulta retornar também o nome do usuário, ou crie uma nova somente para trazer o nome do usuário ou os dados que achar necessário.

Com isso em mãos o resto é idêntico ao que já te mostrei na resposta anterior.

E

cara, eu tentei de tudo aqui, até mesmo fazer o que você instruiu, porém não deu certo :confused:
Eu particularmente não sei mais o que fazer

J

Posta o código que você fez pra realizar essa ação e o erro que ocorreu.

E

Eu não consigo enviar o meu programa, por ser um novo usuário :confused:

E

J

Não tem aplicabilidade mesmo, tu colocou o código no lugar errado!
Aí não pequeno gafanhoto, releia minha resposta!

Onde é que tu faz a autenticação do usuário e realiza a instância da sua tela principal?
É lá que você tem que colocar o código que vai recuperar o e-mail e passar por parâmetro na instância da classe Index, pensa um pouquinho aí, tá faltando um pouco lógica no que tu tá fazendo.

Feito isso, coloca o parâmetro no construtor igual eu fiz no exemplo que te passei.

E

certo kkkkkkkkkkkkkkkkk. Eu ainda estou com um pouco de dificuldades por estar aprendendo a lidar com esta linguagem de programação. Na verdade, eu sou designer gráfico, e com certeza vai ser comum eu apanhar, mas eu vou persistir !

Agora eu tenho esse erro, será que pode ser por conta do nome não estar sendo orientado corretamente para a coluna exata da tabela ?

J

Este trecho de código não tem sentido estar aí, concorda?
Veja bem o que te disse, onde tu faz a autenticação do usuário?
Quando o usuário faz o login, e você verifica se o mesmo é existente e se informou a senha corretamente, aí você chama a tela principal não é?
Logo este trecho de código deve ficar lá.

Criado 6 de junho de 2019
Ultima resposta 6 de jun. de 2019
Respostas 11
Participantes 2