Então, estou com uma dúvida bem noob sobre programação e gostaria de saber se o que quero fazer tem solução.
Estou fazendo um projeto na faculdade que necessita de um sistema de login e permissões de acesso, onde gravo no bd o login, senha e permissão.
A idéia é que ao fazer o login no sistema ele armazene o nome em uma variavel para que eu possa usá-lo como parâmetro quando vou chamar meu método que ve a permissão de acesso.
O outro valor vem null, provavelmente, porque você está criando um novo objeto. E a propriedade não é inicializada. Logo, a String pega o valor padrão (null).
O que você pode fazer é de alguma forma acessar o mesmo objeto, que você colocou o valor antes. Parece um pouco complicado no início, mas vendo um ou dois códigos com os objetos passando pra lá e pra cá de maneira organizada você já pega o jeito.
Provavelmente, se você puder gerar um projeto exemplo no GitHub, ou até um exemplo completo, daí seria mais fácil para ajudar você.
acho que eu entendi, então funcionaria do mesmo jeito que eu trabalho com minhas classes dao? eu pego os valores dos textFields e chamo o método de outra classe que recebe minha classe responsavel pelo set e get no parâmetro, assim eu não perco meus dados?
Acho que expliquei de um modo meio confuso mas creio que da pra vocês entenderem.
Você ja tentou colocar a variavel login como estatica (static), pois sendo estatica ela nao necessita de um objeto, deste jeito ele nao sera inicializada novamente.
Dai vc chama ela na outra tela: Funcionario.nome
acho que vai dar certo, se nao der certo e minha ideia for muito idiota, por favor desculpe sou novo em java e no forum.
Se for só com respeito a passagem de parâmetro por interfaces :
Você vai ter que modificar o Construtor da outra interface e criar um novo objeto para armazenar os dados do objeto que sera passado como parâmetro para a outra interface!
Entao na hora de chamar a nova interface, você terá que passar como parâmetro o objeto com os valores preenchidos.
Ficaria algo do tipo :
Funcionario func;
Public outraInterface(Funcinario func){
this.func = func;
}
Você pode fazer como o Dinho explicou, desde que, não esteja preocupado com encapsulamento e que seja apenas um objeto (se for mais de um todos terão os mesmos dados).
nada de complicações, basta pegar os dados de func, e mandar para o outro método como parametro, se vc usar apenas new Funcionario, vai zerar seus dados, New = novo (variaveis limpas)
Então, eu tenho as seguintes classes:
Login (tela de login)
Inicio (tela principal do sistema)
Funcionário
PrioridadeDAO
eu preciso guardar o login do usuário da tela login usando os metodos da classe funcionário, para que em Inicio eu possa chamar um método da classe PrioridadeDAO onde irei comparar o nivel necessario para abrir as outras telas (que passo por parâmetro quando chamo a nova tela, ex: testePerm(perm)), caso a prioridade seja aceita, a outra janela é aberta, caso não, há um aviso de acesso negado…isso tudo já esta pronto, só estou com problemas para passar o nome de login para o método que eu preciso. Sei que posso enviar pelo parametro, entretanto eu tbm preciso do nivel de permissão necessário que viria de outra classe, sendo assim eu teria que receber paramêtros de duas classes distintas, o que não é possivel…Alguem tem uma ideia de como posso enviar a permissão de outro modo para que eu possa enviar apenas o objeto da classe Funcionário e compare dentro do método?
coloca atributo static nas variaveis que voce quer recuperar, por lei (kkkkkkk) , pra ficar facil de voce entender, uma variavel static é como se fosse uma variavel global, em qualquer método, dentro ou fora, ela terá o valor passado no escopo do sistema. Assim voce vai poder seta-la em outras classes, e etc.