"Copiando" um JPanel

Bom, estou com esta duvida há dias e precisando que alguem me explique como faria isso.

Estou tentando copiar um JPanel para outro JPanel. Entenda-se “copiar” como deixar o jpanel destino identico ao de origem - com as mesmas dimensoes, cores, etc E os mesmos componentes do jpanel de origem.

EX: p2 é um JPanel vazio, e p1 é um JPanel com um botao, um label e um listbox. Ae quero que p2 fique identico a p1

Pensei que seria algo simples assim(ps: os dois JPanel estao em um JFrame):
p2 = p1;

mas nao acontecia nada. Sendo que curiosamente, o comando
System.out.println(p2.getComponentCount());
acusava que p2 tinha um componente, apesar deste componente nao aparecer.

Ae, pesquisei e achei o seguinte trecho de codigo:
[b] for(int i =0; i< p1.getComponentCount(); i++){
Component c = p1.getComponent(i);
c.setVisible(true);
p2.add©;
}

   repaint(50);
   validate();[/b]

Funcionou relativamente bem, apesar dos componentes nao ficarem na mesma posição do painel origem

Mas o maior problema é quando eu tento “copiar” um JPanel que nao fica no mesmo frame, ou seja:
Criei um classe que extende JPanel(NovoJPanel), instanciei esta classe e tentei copiá-la para o JPanel do Frame

[b]
NovoJPanel novo = new NovoJPanel ();

 for(int i =0; i<novo.getComponentCount(); i++){
       Component c = novo.getComponent(i);
       c.setVisible(true);
       p2.add(c);
   }
   
   repaint(50);
   validate();[/b]

Alguém poderia me explicar o procedimento correto para fazer este tipo de “copia”

Grato

VENOM

Você realmente precisa de uma função genérica de cópia ou quer apenas duplicar o comportamento de um Panel específico de sua aplicação?
Se for a segunda forma, pode criar uma classe que extenda JPanel e contenha os componentes necessários. Assim bastaria fazer new MyJPanel().

Segunda opção. Mas nao funciona.

Faço
p1 = new MeuPainel();

onde p1 é um painel vazio que ja está inserido no JFrame e MeuPainel é uma classe personalizada que extende de JPanel, onde coloquei alguns componentes.

Só que na hora de execução, p1 continua visualmente vazio, sem exibir os componentes que existem em MeuPainel.

Alguma idéia do que pode tá acontecendo?