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 
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!