Mudar a cor de um JFrame

Eu faço:

MyJFrame.setBackground(Color.black);

Mas o meu JFrame aparece com a cor que eu quero apenas por um segundo, e depois volta a ficar com a cor padrão de uma JFrame.

O que faço para codificar corretamente e corrigir esse problema?

MyFrame.getContentPane().setBackground()

Companheiro, posta seu código aí…assim fica mais fácil visualizar o q realmente tá acontecendo.

Agora funcionou, usando:

MyFrame.getContentPane().setBackground(Color.black);

Mas por que não funcionou simplesmente usando:

 MyJFrame.setBackground(Color.black);

Qual a explicação?

Poste seu código para que possa ver e tentar melhor explicar o motivo de não ter funcionado. :wink:

coffee break mao ,

Boa tarde !

Não sei se vc ja conseguiu , eu tambem estava tentando e dava o mesmo erro seu.

A solu8ção é use setBackground no JPanel assim:

mypanel.setBackground(Color.black);

Amigo, o correto é utilizar this.getContentPane().setBackground(Color.BLACK);

[quote=coffee break mao]Agora funcionou, usando:

MyFrame.getContentPane().setBackground(Color.black);

Mas por que não funcionou simplesmente usando:

 MyJFrame.setBackground(Color.black);

Qual a explicação? [/quote]
Porque o Jframe contem um Componente raíz, a cor padrao desse componente é cinza, esse Component é desenhado em cima do fundo do JFrame e porisso parecia que não mudava a cor
O getContentPane() obtem o component raíz, dessa forma vc ta alterando o component que está sobre o JFrame e nao o JFrame.

Porque reabriram o tópico?