Numero de componentes de um JInternalFrame

Boa noite…

Estou tentando fazer um método que recebe como parametro um JInternalFrame, verifica quantos componentes tem, de que tipo são e os “limpa”. Porém, não encontrei o método que retorna a quantidade de componentes, e o getComponentCount() não funciona.
Pelo que li na api, não tem nenhum.

Alguém tem alguma ideia?

desde ja, agradeço!

Oi,

Essa nunca tinha visto =P

Como você utilizou o método getComponentCount() ?

internalframe.getComponentCount() ?

já tentou,

internalframe.getContentPane().getComponentCount() ?

Tchauzin!

Huum, também não, ele retorna só cinco componentes e tenho bem mais.

Oi,

Você não teria um JPanel adicionado e nele adicionado outros componentes?

é estranho!

Só por curiosidade, pq você gostaria de fazer isso ?

Tchauzin!

jessica: aproveitando a deixa da lina, um dos cinco componentes que o JInternalFrame informa ter não é um Container (por exemplo, um JPanel contendo outros componentes)?

não tenho um JPanel.

Quero fazer isso porque fica mais facil para limpar e validar campos sem ter que percorrer um por um.

Oi,

Vou tentar encontrar um método para isso… porém só amanhã! estou sem meu Eclipse.
Pelo que eu li no javadoc, o método getComponentCount() retorna o número de componentes de seu container…

Poderia criar uma variavel inteira que a cada add np frame ela é incrementada =P

Minha pergunta é, você visivelmente sabe quantos componentes existem em sua tela. Ou seja, você sabe quantos componentes estão adicionados. Pq não usar fixamente?
Ou a sua ideia é ir adicionando componentes em tela?

Estranho essa sua dúvida :evil:

Tchauzin!

Eu sei sim quantos componentes eu tenho, mas é como te falei, é muito transtorno limpar um por um. Fiz isso em delphi onde passei o form e pegava os componentes e limpava. E agora quero aplicar em java, estou desenvolvendo no netbeans.

Oi,

Olha o meu teste:

[code]frame = new JFrame();
teste = new JButton();
teste2 = new JButton();
teste3 = new JButton();
teste4 = new JButton();
frame.add(teste);
frame.add(teste2);
frame.add(teste3);
frame.add(teste4);

System.out.println(frame.getContentPane().getComponentCount());[/code]

Resultado = 4

Está correto!

Mas acho que no seu caso, você não cria um frame! Você apenas extends ao JInternalFrame.

Então, você deverá fazer

[code]teste = new JButton();
teste2 = new JButton();
teste3 = new JButton();
teste4 = new JButton();
getContentPane().add(teste);
getContentPane().add(teste2);
getContentPane().add(teste3);
getContentPane().add(teste4);

System.out.println(getContentPane().getComponentCount());

Resultado = 4[/code]

Tchauzin!