Por que getContentPane() [RESOLVIDO]

3 respostas
douglas_vidotto

Fala turma, blz?? O livro da Kathy Sierra diz que para adicionarmos algum componente em uma moldura utilizamos a seguinte forma

JFrame frame = new JFrame(); frame.getContentPane().add(algumacoisa);

Eu não entendi o por quê desse método getContentPane(). Se usar somente o método add, ele funciona. Pelo menos funcionou aqui. Então minha dúvida é por que devemos usar o getContentPane()?

Muito obrigado.

3 Respostas

A

O objeto JFrame não é um container, ele não suporta objetos dentro dele, pra isso existe um método getContentPane() que te dá um objeto Container que suporta objetos dentro dele.

Já o Frame da AWT suporta objetos dentro dele.

JFrame frame = new JFrame();  
Container c = frame.getContentPane();
c.add(algumacoisa);

Espero ter tirado sua dúvida.

Marky.Vasconcelos

E atualmente apenas add funciona por que agora este método esta escrito parecido com esse:

Código da classe JFrame

public void add(Component comp){
getContentPane().add(comp);
}
douglas_vidotto

Entendi, valeu mesmo pessoal!

Criado 22 de dezembro de 2008
Ultima resposta 22 de dez. de 2008
Respostas 3
Participantes 3