setBackground() ! getContentPane().setBackground()

Pq quando seto para a janela receber a cor
aa.setBackground(Color.yellow);
o form nao fica com essa cor
mas quando eu seto
aa.getContentPane().setBackground(Color.black);
ai funciona ? queria saber a diferenca
e tbm nao itendi o que faz getContetPane() :smiley:

Muito grato desde já programadorjlle :slight_smile:


import java.awt.Color;
import javax.swing.JFrame;

public class janela extends JFrame{

public janela() {}
	
public static void main(String args[])  {
  	   
   janela aa = new janela();
   aa.setTitle("Primeiro Programa");
   aa.setBounds(150,20,500,520);
   aa.setBackground(Color.yellow);

   aa.getContentPane().setLayout( null );

// aa.getContentPane().setBackground(Color.black);
aa.show();

}	

}

amigo tente assim:

import java.awt.;
import javax.swing.
;

public class janela extends JFrame{

public janela() {
    
    super("Primeiro Programa");
    Container janela = getContentPane();

    janela.setLayout( null );
    janela.setBackground(Color.yellow);

}

public static void main(String args[]) {

    janela aa = new janela();
    aa.setBounds(150,20,500,520);
    aa.show();

}

}

west poderia me esplicar o que faz essa linha ?

Container janela = getContentPane();

Muito grato pela sua ajuda :slight_smile:

No awt colocamos as propriedades(layout, background etc.) direto na tela, já no swing utiliza-se um Conteiner que fica dentro da sua Applet, JFrame…(swing).

Como vc está utilizando JFrame(swing), é necessário um Conteiner.

Container janela = getContentPane

Essa linha pega uma referência do Conteiner da tela, para vc colocar as propriedades dentro dele.
:slight_smile: