Remover painel de outro painel[resolvido]

ola,
estou tentando remover um jpanel que crio ao selecionar um item de uma combo.A cada item q eu seleciono na combo eu tenho q apagar o painel q ja esta na tela e crio um novo painel mas nao esta funcionando =(
o codigo para remover o painel antes de criar um novo é o seguinte :

[code]
Component[] components1 = painel.getComponents();
for (Component component : components1) {
if ( component instanceof JPanel ) {
painelDosModulosBotoes.removeAll();
painel.remove(painelDosModulosBotoes);
System.out.println(“removendo painel…”);
repaint();
}

		}[/code]

após isto eu faço os outros codigos para criar o painel
ah o painel q tem todos os elementos da tela chama-se painel e o q eu quero remover é o painelDosModulosBotoes.
Obrigada

Bom dia paty_trind, se vc ja sabe o nome do painel que vc quer remover não precisa iterar e remover todos os componentes do seu painel ‘pai’.

Vamos la tente o seguinte:

[code]//remove o painel botoes do painel que ele foi adicionado anteriormente
painelPai.remove(painelFilho);

//remove qualquer referecia a esse objeto anulando-o
painelFilho = null;

//repinta o painel 'pai’
painelPai.repaint();
painelPai.revalidade();

//Adiciona um novo painel
JPanel novoPanelFilho = new JPanel();
novoPainelFilho.setBounds(0,0,100,100); //seta posição e o tamanho do seu novo painelFilho
painelPai.add(novoPainelFilho); //adiciona o seu novo painel.[/code]

Creio q isto posso te ajudar.

[]'s

ola thiagocg,
tentei utilizar o codigo que tu postaste mas da i ocorre o erro java.lang.NullPointerException at java.awt.Container.remove(Unknown Source) at TelaDeInsercaoDeNotas.determinaBotao(TelaDeInsercaoDeNotas.java:891) at TelaDeInsercaoDeNotas$4.actionPerformed(TelaDeInsercaoDeNotas.java:269) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
dai se eu tiro a linhapainelFilho = null;
não ocorre erro mas o painel não é removido :frowning:
fiz o seguinte[code]botaoLimpar.addActionListener (new ActionListener (){
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==botaoLimpar)
{
t0.setText("");
t1.setText("");
t2.setText("");
t3.setText("");
t4.setText("");
t5.setText("");
Component[] components = painel.getComponents();
for (Component component : components) {
if ( component instanceof JPanel ) {
painel.remove(painelQueContemOsModulos);
painel.repaint();

					}

				}
			}
		}});[/code]

ai consegui resolver!

muito obrigada pela ajuda!