Deletar componentes de um painél

3 respostas
H
Como faço para deletar ou eliminar todo o conteúdo que eu adicionei num painél? Por exemplo, dado o código abaixo:
JPanel pn = new JPanel();
                    pn.add(new JButton ("botão 1");
                    pn.add(new JButton ("botão 2");
                    pn.add(new JButton ("botão 3"); 
                    pn.add(new JLabel ("Tópicos");

como eu deveria fazer para zerar o pn? Ou seja deixar ele limpinho de novo pra eu poder adicionar outros componentes de forma que não haja sobreposição de componentes no painél?

3 Respostas

P

Pode usar remove() para cada componente ou então remover seu painel inteiro e criá-lo novamente! pode ser com remove() também ou mesmo eleger seu painel para o garbage collector e criá-lo novamente ex:

JPanel pn = new JPanel();
                     pn.add(new JButton ("botão 1");
                     pn.add(new JButton ("botão 2");
                     pn.add(new JButton ("botão 3"); 
                     pn.add(new JLabel ("Tópicos");
.
.
.
pn.hide(); // oculta seu painel
pn = null; //aqui você está setando valor nulo para seu painel então o garbage collector irá removê-lo da memória.
System.gc(); // aqui você chama o garbage collector para tirá-lo da memória...
JPanel pn = new JPanel(); //cria o painel novamente
pn.show() // mostra o painel vazio!

Espero ter ajudado!

Mantu

Já tentou utilizar um…

pn.removeAll();

?

P

pn.removeAll(); ??? Que daora! não conhecia esse método! Muito bom =:P

Criado 1 de abril de 2006
Ultima resposta 7 de abr. de 2006
Respostas 3
Participantes 3