Re:JFrame com plano de fundo

Acredito que seja um JLabel,

imagino que deva existir outras maneiras, porém tentaria isso,


JLabel label = new JLabel();
label.setIcon( new ImageIcon( imagem ) ) ;

espero ter ajudado

Luiz, voce pode criar seu proprio gerenciador de Layout para gerenciar seus componentes de maneira especial.
Voce deve implementar a inteface LayoutManager

deve substituir 5 métodos :

void addLayoutComponent( String s, Component c );
void removeLayoutComponent( Component c );
Dimension preferredLayoutSize( Container parent );
Dimension minimunLayoutSize( Container parent );
void layoutContainer( Container parent );

addLayout e removeLayout são chamadas quando um componente é adicionado ou removido.
preferredLayoutSize e minimunLayoutSize calculam o espaço necessário para o layout minimo e preferido dos componentes.
o Ultimo invoca o setBounds de todos os componentes.

Através do seu proprio gerenciador de layout voce pode definilo sobre um panel por exemplo, e adicionar varios componentes, que podem ate ficar um sobre os outros.

no livro CoreJava 7 edição, capitulo 9, paginas 257 e 258, tem um otimo exemplo, se digitar o programa, ira perceber que os Jbutton´s, chegam a ficar um sobre outro.

espero ter ajudado.

É só uma pequena dúvida cuja resposta me ajudará a “tornar mais fresco” um jogo de tabuleiro que estou desenvolvendo.

Se eu não me engano, existe uma classe ou um método que põe uma imagem como fundo o JFrame - ou isso ou era um JLabel que ocupava toda a janela e eu não sabia.

De qualquer maneira, se alguém tiver esse conhecimento, eu ficaria agradecido de saber a verdade.

Muito obrigado.

:slight_smile:

Valeu, mas isso eu já sabia. O meu problema é que haverá outros componentes na janela, e eu queria essa iamgem no fundo, atrás deles. Acho que do jeito que vc falou não funciona, pois um Label ocupa espaço na janela, igual aos outros.

Tentei fazer o mesmo que você disse, mas trocando o JLabel por um JPanel, e o compilador não reconheceu.

Só se houver uma maneira de pôr um Label “atrás” dos outros componentes da janela.

Mesmo assim, obrigado.

:slight_smile:

para Domingos Bernardo:

Cara! Eu não sabia disso! Só pelo fato de a gente já poder criar nossos próprios gerenciadores de Layouts eu já ganho a tarde! Não acessei a net à toa!

Vou procurar essa classe na “Grande Página das Classes do JAVA”.
Obrigado.
:smiley: