Transporte de Dados de uma classe para outra

Bom dia, estou fazendo um software, e tenho uma tela de logins, e as outras telas do programa, tenho que guardar o login da pessoa que se logou, e apresentar esse login nas outras telas.
Alguem pode me ajudar. Please.

Vc n teria q tornar essa informação persistente (adicionando em um Bando de dados) e depois fazer uma consulta e disponibilizando para aonde vc quiser?

Pq até então, para a pessoa ter login, ela tem q fazer 1° o seu cadastro de login e tals

ao logar… vc cria por exemplo:

na tela principal vc cria uma variável… exemplo:
public static String usuarioAtivo = “”;

ao logar:
JFramePrincipal jf = ne JFramePrincipal();
jf.usuarioAtivo = JtextFieldLogin.getText();

dai de todas as telas… é só vc usar assim: JFramePrincipal.usuarioAtivo;
vai retornar o usuario logado
é isso ?

Bom dia a todos.
Você poderia estar fazendo uma classe Contexto, ou seja, uma classe simplesmente para guardar informações referênte a login, data do sistema, filial que está logado, etc.
Essa classe implementaria o Padrão Singleton.
Assim você terá apenas uma instância dela e conseguirá recuperar as informações em qualquer classe.
[]s

[quote=uchiharussi]Bom dia, estou fazendo um software, e tenho uma tela de logins, e as outras telas do programa, tenho que guardar o login da pessoa que se logou, e apresentar esse login nas outras telas.
Alguem pode me ajudar. Please.

[/quote]

Olá Bom dia, não entendi direito. Mas pelo q entendi:
Vc pode ter o login e senha do fulando, como propriedade em sua entidade, por exemplo:

class User{
private Todas outras_propriedades;
private String name, password;
....
//gets e sets
}

//q seria meio errado.
//OW

class User{

private Login login;
....
}

class Login{

private ....
private ...
}

Desta forma vc teria as informações do seu Usuario.
Abraços

Você pode fazer como o usuário lvffilho falou. Ou seja, criar uma classe que conterá somente os dados referente ao usuário.

Ou, se você estiver utilizando banco de dados, pode fazer um select para capturar o usuário conectado no momento.

select initcap(user) from dual;

Sendo assim, guarde o resultado do select em uma variável, e quando quiseres utilizá-la, é só chamá-la.

Abraço!

é, seria interessante uma classe que armazenasse todos os parametros em memória

Valeeuuuuu ai pessoal, Agradeco a todos que ajudaram.
Utilizei a ideia do jurunaloco e deu certo como era pra ser.

Valeu ai pessoal, ateh a proxima

Bom, a maneira que o no jura colocou funciona.
Mas você tem alguns problemas. Por exemplo:
Se você precisar numa classe do lado servidor na sua aplicação saber o login, você vai fazer referência a um form?
Dessa maneira você esta criando dependências de classes que não tem nada a ver.
E outra coisa é sair criando variáveis estáticas pelo sistema inteiro, e até em classes que não possuem responsabilidade pra isso.
Funcinar, funciona. Mas não é nem um pouco aconselhável fazer isso.
[]s

lvffilho

Eh o seguinte, tenho meu projeto dividido em dois, um deles tem a parte de classes, e conexao com banco de dados, uso o hibernate pra fazer isso. No outro projeto uso somente meus JForms, oque acontece eh o seguinte:
Preciso saber o nome do usuario que esta logado no sistema, para mim poder colocar ele numa tabela de auditoria no banco de dados, ou seja, qualqer mudanca que seja feita nos cadastros do sistema, preciso saber quem fez tal mudanca, para isso necessito do nome do usuario.

Por isso nao entendi como esse metodo que o jura falou nao funciona. Aqui eu fiz e deu certo, queria saber pq nao daria certo?
Obrigado

Que nem eu falei.
Funcionar, funciona.
Você simplesmente colocou uma variável public static, sendo assim você consegue acessar de qualquer lugar.
Só que vamos pensar pelo seguinte.
Sua aplicação esta divida em camadas: Client - Server
Client : Forms, Panels, Etc.
Server: Facedes, Regra de Negócio, Acesso a Banco, etc.

Form = Client = Swing certo? Isso é somente para APRESENTAÇÃO.

Se na sua classe do Server = Regra de Negócio = Acesso a Banco, você chamar um FORM (CLIENT) não concorda que tem alguma coisa errada?
Não é responsabilidade do client guardar essa informação. E o pior ainda é Criar dependência entre SERVER-CLIENT.

Deu para entender?
Desculpa se a explicação não está tão clara.
Estou tendo que responder rapidão.

lvffilho

Entendo como voce esta falando sim.
Na sua ideia eu deveria criar uma tabela no banco e cada vez que alguem fazer login, que coloque nessa tabela a ultima pessoa que fez login, para depois buscar no banco. Eh isso?

Obrigado

Na verdade não…
Você já fez uma busca no banco, a busca pra verificar se o login da pessoa é valido certo?
Então… se sim… vc ja tem o dado na memoria… simplesmente armazene em uma classe especifica para isso.
Ai cai na situacao da minha primeira resposta.

Voce poderia criar essa tabela se voce quisesse gravar o log de logins.

[]s

Eh, realmente dessa forma funcionaria mesmo.
Mas estou fazendo esse software para desktop, quando acabar, estarei fazendo ele para java web, nesse caso, se tiverem 5 usuarios online por exemplo, nao funcionaria tambem.

Valeeeeu, abraco

Entao… se vc ainda por cima vai utilizar esse software pra WEB, ai sim que vc nao pode colocar uma variavel “global” em um FORM, ate pq na web nem tem FORM.
Nao concorda?
[]s

aaaa… se vc for fazer web, da para fazer sim.
É só ele salvar esse objeto “contexto” na sessão do usuário.
Dessa forma terá um por login.
[]s