bom…eu tenho um painel Embalagem. ae tenho o botao procurar, que chama uma tela (estilo popup) que pesquisa no banco, preenche a tabela, pega o codigo da embalagem escolhida e clica em ok. Até ae tudo ok…
agora é o seguinte. atualizar o painel com o nome e os outros dados.
Primeiro eu sugiro você usar um JDialog em vez de JFrame na janela de pesquisa. Porque assim obriga o usuario a clicar em algum JButton antes de voltar a JFrame Anterior.
Eu costumo fazer o seguinte: na Janela de Busca em tenho um metodo getIndice() que armazena a id seleciona.
Ja na Janela que chama a busca, após o retorno, eu chamo o getIndice() e seto os dados para o referido indice.
Uma boa opção seria utilizar o pattern Observer, ou utilizar um Listener.
Utilizando o Observer, você registra a classe embalagem para receber os dados “observados”, e a tela de pessquisa, ao selecionar um produto, envia para o “observador” o objeto, ou os dados que foram selecionados.
Outra opção seria o listener. Crie um Listener, a tua classe embalagem implementa esse listener e adicione esse listener na tua classe de pesquisa. No método implementado, na classe embalagem, implemente o preenchimento dos dados na tua tela. Na tela de pesquisa, ao ser selecionado um objeto, chame o método do listener adicionado.
Via de regra, tenha 50 tipos de calafrios diferentes ao declarar static.
Então, não, não é nem de longe a melhor maneira de se fazer.
As variáveis static tem vários problemas sérios:
Seu conteúdo nunca será coletado pelo garbage collector. Portanto, você é obrigado a lembrar de sempre atribuir null ao valor estático depois de usa-lo;
Elas dificultam muito a criação de classes thread-safe. Aliás, o pior tipo de classe em relação a threads, chamado thread-hostile, é obtido através de static;
Elas facilmente promovem o escopo global, o que pode gerar um código confuso e difícil de manter.
Os problemas 2 e 3 não são válidos para constantes ou tipos imutáveis.