Boa tarde,
Estou tentando mostrar o nome do usuário na tela principal, mas quando seto a variável na tela de login,
ela pede para Tornar a variável privada. Alguém pode me dizer onde estou errando?
Obrigado
Boa tarde,
Estou tentando mostrar o nome do usuário na tela principal, mas quando seto a variável na tela de login,
ela pede para Tornar a variável privada. Alguém pode me dizer onde estou errando?
Obrigado
Em primeiro lugar, está errando por postar uma imagem e não o código.
olá, por gentileza poste o seu código assim fica mais fácil de poder lhe ajudar.
Isso na verdade é uma má tradução do NetBeans, você precisar deixar o componente público.
Clica no componente, botão direito, personalizar código, aí no rodapé da janela que abriu, vai ter algo como se fosse um jComboBox escrito “private”, vc clica nela e coloca em “public”
Bom Dia, desculpa por ter enviado a imagem, segue o código:
public void logar() {
String sql = "select * from tbl_usuarios where usuario=? and senha=?";
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtLogin.getText());
pst.setString(2, txtSenha.getText());
rs = pst.executeQuery();
if (rs.next()) {
String perfil = rs.getString(6);
if (perfil.equals("admin")) {
TelaPrincipalCi principal = new TelaPrincipalCi();
principal.setVisible(true);
TelaPrincipalCi.lblUsuarioLog.setText(rs.getString(2));
this.dispose();
conexao.close();
} else {
TelaPrincipalCi principal = new TelaPrincipalCi();
principal.setVisible(true);
this.dispose();
}
} else {
JOptionPane.showMessageDialog(null, "Usuário e/ou senha inválido(s)");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Bom dia, não consegui localizar o componente que você falou para clicar com o botão direito. Consegue me passar mais algum detalhe para ver se consigo identificar? Obrigado
lblUsuarioLog, ele até está selecionado ele na imagem que você postou. 
Obrigado, localizei, alterando para public, ele informa que a variável lblUsuarioLog não pode referenciar com contexto estático.
É porque você está tentando acessar o atributo lblUsuarioLog a partir da classe TelaPrincipalCi, quando na verdade deveria acessar a partir do objeto principal.
Staroski, acho que falhei na hora de criar a classe principal, cometi alguma gaf, mas consegui resolver com ajuda de vcs. Ao alterar para public faltou marcar o termo STATIC na frente do public.
obrigado a todos.
Você não precisa colocar o static, na hora de chamar a variável vc faz assim:
Frame2 frame = new Frame2();
frame.lblUsuarioLog.setText(rs.getString(2));
Está errado, não faz sentido esse componente ser estático.
Você criou um objeto da classe TelaPrincipalCi e chamou ele de principal.
Mas na hora de acessar o atributo lblUsuarioLog você digitou o nome da classe ao invés do nome do objeto.
Tem que digitar o nome do objeto!
Abner_Rodigues e Starocki, verdade, outra mancada, já alterei e desmarquei o static e rodou. Valeu.