[DÚVIDA] Passagem de parâmetro por classes

Tenho uma dúvida que acho que pode ser resolvida com simplicidade, creio que eu que esteja aumentando o problema.

Tenho uma classe GUI Swing chamada “PRINCIPAL”, nela, existe um botão, ao clicar nesse botão, abre uma nova classe GUI Swing chamada “CLASSE” (ao fazer isso a classe principal fica em segundo plano, ela não é fechada).

Na classe CLASSE, existe uma lista. Preciso passar o valor selecionado dessa lista para um label na classe PRINCIPAL. Só sei fazer passagem de parâmetro se eu iniciar uma nova PRINCIPAL na classe CLASSE

exemplo do que eu sei fazer:

principal pri = new principal();

pri.métodorecebe(String parametro);

pri.setVisible(true);

Não posso fazer isso porque ao usar o new principal(); eu perco todos os dados dos JTextFields da PRINCIPAL.

bom, ai eu fiz um arquivo java vazio chamado TRANSFERENCIA

public class transferencia
{
    public String classeEscolhida;
    
    public void totalClasse(String v)
    {
        this.classeEscolhida=v;
    }
}

Ou seja, eu mando pra esse arquivo vazio, e na classe PRINCIPAL eu chamo o método totalClasse e fico com o parametro passado pela CLASSE

CLASSE >>> VAZIO >>> PRINCIPAL

Agora a dúvida:

-) esse é o melhor jeito de fazer isso ? preciso do objeto da lista da classe CLASSE num label da classe PRINCIPAL, só que não posso criar um PRINCIPAL (senão perco os dados)

Ficou meio complexo ???

Amigo, há vários problemas de design aí, que são bem mais graves que a passagem de valores entre classes.
Uma dica: Estude orientação a objetos; leia livros, tutoriais, procure no google, e depois se preocupe com linguagem (Java, C#, Ruby…)

Aqui tem um exemplo com a ida e a volta de um dado entre duas janelas:
http://www.guj.com.br/posts/list/55710.java#292687

É mais simples do que parece.