Alguém pode me ajudar na exibição do nome de usuário em um Label no Java ?

8 respostas
databasejava
E

No espaço sublinhado acima, eu gostaria de estar exibindo o nome do usuário(que posteriormente faz o login no sistema). Ex: Seja bem Vindo “Paulo”.
Eu estou utilizando o SGBD Workbench, e na tabela tb_usuarios, eu guardo o nome do usuário.

Eu estou tendo dúvidas, e eu particularmente não sei como eu posso estar fazendo isso, e eu conto com a ajuda de vocês.
Abaixo eu estarei deixando o código da tela de login, caso ajude em algo.

8 Respostas

E


Tela De Login - Código
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) {                                               
            
           
           if(p.checkLogin(Txt_Email.getText(), Txt_Senha.getText())){
               Index i = new Index();
               i.setVisible(true);
               this.dispose();
           }else{
               JOptionPane.showMessageDialog(null, "Senha ou Email incorretos!");
           }
        }                                              

        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);
        });
    }
E

Conexão do Projeto

/*
 * 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:mysql://localhost:3306/Engenharia?autoReconnect=true&useSSL=false";
    private static String usuario = "root";
    private static String senha = "123456";
    public ResultSet rs;
    public Connection con;
    public Statement stm;
    
    public static Connection conectar(){
       try{
           Class.forName("com.mysql.jdbc.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());
        }
    }

   
}
E

O meu professor me deu essa dica, mas após uma semana de testes, não encontramos a aplicação adequada para essa linha de código, e não sabemos se ela está correta

String str;               
            Conection con = Conexao.getinstance().getconetion();               
        ResultSet res = con.createStatement().executequery()("select nome from tabela where email="" and senha=""");
           
    str = res.getString("nome");
    lbl_bemVindo.setText(str);
R

Vamos lá, sabe o JFrame login?

Na hora que você faz a verificação, tipo:

If(campo_usuario.getText().equals(coluna_banco_de_dados)){
   .......
}

Você vai fazer isso:

str = res.getString("nome");

Ok, no JFrame que vc for abrir depois do login, creio que seja o Menu, você vai mudar o construtor dele,

Exemplo:

public class Menu(String nome){
   InitComponents ();
   ....
  lbl_bemVindo.setText(nome);
}

Agora de volta no JFrame login, vc chamar o Menu assim

new Menu(str). setVisible(true);
H

Em tese, a colocação dos componentes é mais adequada no JPanel ou contentPane ?

E

Bom dia ! Bom, pelo o que eu aprendi no decorrer do meu curso, seria mais ideal utilizar a colocação dos seus componentes no seu contentPane(se caso for o painel principal), caso contrário, utilize um JPanel.

No meu caso, o meu contentPane é o meu painel de login, e através disso, a minha dúvida surgi a partir de um painel genérico do meu programa.

E

Eu estou tentando construir conforme a estrutura do meu projeto kkkkkkkkkkk.
Tá osso aqui, mas caso eu fique travado em algo, eu vou jogar aqui as minhas dúvidas !

L

Cara você pode fazer um singleton, para guardar todas as informações do usuário quando ele for fazer login assim ficaria mais Clean

Ex:

public class Sessao{

private static Sessao instance = null;

private Usuario usuario;

private Sessao(){
}

public void setUsuario(Usuario usuario){

this.usuario = usuario;

}
public Usuario getUsuario(){

return usuario;

}

public static Sessao getInstance(){

if(instance == null){

instance = new Sessao();

}

return instance;

}

}

usando da seguinte mandeira
Sessao sessao = Sessao.getInstance();

sessao.setUsuario(usuario);// //Usuario é um POJO qualquer;

//Esse codigo seria executado pos login.

e durante o sistema vc descobre o usuario logado

Sessao.getInstance().getUsuario();
Ou na Sessao vc pode armazenar um map para guardar mais infromações como um session HTTP.

Criado 22 de junho de 2019
Ultima resposta 22 de jun. de 2019
Respostas 8
Participantes 4