Receber uma variável de outra classe

7 respostas Resolvido
O

Pessoal, preciso de ajuda.
Estou desenvolvendo um sistema de RH, mais para estudar mesmo, mas acabei travando em uma parte, o problema é o seguinte:

No frame maior eu insiro o nome de um funcionário, daí abre um novo frame com um JTable com o resultado da consulta, então o usuário deve escolher qual o funcionário ele deseja editar, porém eu não estou conseguindo mandar o RF (Chave Primária) do funcionário selecionado de volta para o frame principal (frame maior), como eu posso estar fazendo isso? Imagino que é simplesmente mandar uma variável de uma classe para outra.

7 Respostas

Jonathan_Medeiros

Basta declarar uma variável pública na tela menor, recuperar o valor da table para ela, na tela maior você implementa um listner para quando a tela menor fechar você recuperar este valor.

O

Como seria esse listner?

Jonathan_Medeiros
Solucao aceita

Algo mais ou menos assim, digamos que o dado a ser recuperado seja do tipo String:

frameMenor.addWindowListener(new java.awt.event.WindowAdapter() {
   @Override
   public void windowClosed(java.awt.event.WindowEvent evt) {
              String RF = frameMenor.variavelPublica;      
   }
}
});
O

Não conhecia essa possibilidade, muito obrigado amigo.

O

Consegui resolver esse problema também usando métodos estáticos.

Jonathan_Medeiros

Poste suas soluções, isso pode ajudar outras pessoas que procuram resolver o mesmo problema!

staroski

Métodos estáticos não são para fazer troca de mensagens entre instâncias.
Sua solução está errada, pois você precisou criar atributos estáticos nas classes.

Criado 12 de dezembro de 2017
Ultima resposta 13 de dez. de 2017
Respostas 7
Participantes 3