Olá pessoal,
Eu gostaria de obter a variável idlogado presente dentro do método do botão de login para obter o id do usuário logado e finalmente colocá-lo em um get e usá-lo em outras classes, mas não estou tendo sucesso:
publicclassTelaLoginextendsjavax.swing.JFrame{publicTelaLogin(){initComponents();}privatevoidbLoginActionPerformed(java.awt.event.ActionEventevt){Stringidlogado="";//código do login no botão (obtém-se o idlogado aqui)}Stringidlogado=bLoginActionPerformed.idlogado;//<-- aqui está o erropublicStringgetIdLogado(){returnidlogado;}}
Talvez seja uma dúvida básica por eu ainda estar aprendendo, mas qualquer ajuda é apreciada, obrigado.
o idLogado está em um botão? Ou vc quer clicar no botão e mostrar o idLogado?
É pq vc chamou o nome do método, que é um void (vazio), caso queira pegar o texto do botão, teria que fazer assim:
StringidLogado=btLogin.getText();
caso queira chamar um método pra ter o retorno do id é assim
publicStringgetIdLogado(){
returnidlogado;}
Chamar
idLogado=getIdLogado();
se bem que não faz muito sentido fazer esse método, já que a variável idLogado é global, qualquer método acessa.
Eu acho que um getter e setter nesse caso não é necessário.
E
Enzoys
Obrigado pela ajuda, mas na verdade não é o texto do botão que preciso. Quando vc clica no botão login, o banco de dados valida o login e dps obtem o idlogado do usuário que logou:
Stringsql="select idusuario from usuario where nomeusuario ='"+txtLogin.getText()+"' and senha = '"+String.valueOf(txtSenha.getPassword())+"';";System.out.println(sql);PreparedStatementcomandoSQL=conexao.prepareStatement(sql);ResultSetresultado=comandoSQL.executeQuery();if(resultado.next()){idlogado=null;idlogado=resultado.getString(1);//aqui consegue o idlogado
Mas estou precisando obter este idlogado fora deste método.
E se apenas crio o get como vc mostrou ele não consegue retornar a variável idlogado pq ela é local apenas para o método do evento do botão.
R
Solucao aceita
rodriguesabner1 like
Entendi, vc pode passar esses dados via construtor.