Inserir imagem no Frame

Olá, amigos. Preciso inserir um lgotipo como papel de parede nesse frame. Tem como? Alguém poderia ajudar, por favor? Obrigado.
Vejam o código:

[code]import javax.swing.;
import java.awt.
;
import java.awt.Color;

public class FramePrincipal extends JFrame{
private JLabel l1, l2;
private JMenuBar me;
private JMenuItem itemAlunos;
private CadastroAluno cad;

public FramePrincipal(){
setTitle(“ACADEMIA FORÇA ATIVA”);

cad = new CadastroAluno();
itemAlunos = new JMenuItem("alunos");
itemAlunos.addActionListener(new TratarBotoes(cad));

    JMenu menu1 = new JMenu("CADASTROS");
    menu1.add(itemAlunos);
    menu1.add(new JMenuItem("funcionários"));
    menu1.add(new JMenuItem("visitantes"));
    menu1.add(new JSeparator());
    menu1.add(new JMenuItem("ACADEMIA"));

  	JMenu menu2 = new JMenu("CONSULTAS");
  	menu2.add(new JMenuItem("alunos cadastrados"));
    menu2.add(new JMenuItem("funcionários cadastrados"));
    menu2.add(new JMenuItem("mensalidades atrasadas"));
 	menu2.add(new JSeparator());
  	menu2.add(new JMenuItem("ACADEMIA"));
  
    JMenu menu3 = new JMenu("RELATÓRIOS");
    menu3.add(new JMenuItem("alunos da academia"));
    menu3.add(new JMenuItem("funionáriosa da academia"));
    menu3.add(new JMenuItem("mensalidades pagas"));
    menu3.add(new JMenuItem("mensalidades atrasadas"));
    menu3.add(new JSeparator());
    menu3.add(new JMenuItem("ACADEMIA"));
  
 	JMenu menu4 = new JMenu("MODALIDADES");
    menu4.add(new JMenuItem("musculação "));
    menu4.add(new JMenuItem("ginástica"));
    menu4.add(new JMenuItem("piscina"));
    menu4.add(new JMenuItem("yoga"));
    menu4.add(new JMenuItem("danças"));
    menu4.add(new JMenuItem("lutas"));
    menu4.add(new JMenuItem("pilates"));
    menu4.add(new JSeparator());
    menu4.add(new JMenuItem("ACADEMIA")); 
    
    JMenu menu5 = new JMenu("SERVIÇOS");
    menu5.add(new JMenuItem("Nutricionistas"));
    menu5.add(new JMenuItem("Personal VIP"));
    menu5.add(new JMenuItem("Força Ativa & você"));
    menu5.add(new JSeparator());
    menu5.add(new JMenuItem("ACADEMIA")); 
    
    JMenu menu6 = new JMenu("SAIR DO SISTEMA");     

  	JMenuBar bar = new JMenuBar();
  	bar.add(menu1);
  	bar.add(menu2);
 	bar.add(menu3);
 	bar.add(menu4);
  	bar.add(menu5);
  	bar.add(menu6);        

JFrame jan = new JFrame();
 	jan.setJMenuBar(bar);

	getContentPane().setBackground(Color.LIGHT_GRAY);
getContentPane().setLayout(new GridLayout(9,0));
	getContentPane().add(bar);

Icon bug = new ImageIcon("travelbug.gif");   
    l1 = new JLabel ("ACADEMIA FORÇA ATIVA",bug,SwingConstants.CENTER);
    l1.setForeground(Color.BLUE);
	add(l1);

	setVisible(true);
setSize(550, 500);
	setLocation(400, 100);	

}

}[/code]

http://www.guj.com.br/posts/list/56248.java#295271

Abri o link que você postou, fiz o dowload do seu arquivo, mas não consegui usar nenhum daqueles métodos. Teria uma maneira mais básica de explicar? Obrigado.

O link é de um JPanel que suporta uma imagem de fundo. Basta colocar aquele JPanel no seu JFrame e a logo aparece:

JImagePanel pnlLogo = new ImagePanel("C:\logomarca.jpg"); seuFrame.add(pnlLogo, BorderLayout.CENTER);

Obrigado pela ajuda. Fiz o que você sugeriu, (linhas 15e16) mas deu um erro: ilegal escape character. Não consegui resolver. Tem como ajudar?
Veja o código:

[code]import javax.swing.;
import java.awt.
;
import java.awt.Color;

public class FramePrincipal extends JFrame{
private JLabel l1, l2;
private JMenuBar me;
private JMenuItem itemAlunos;
private CadastroAluno cad;
private JImagePanel pnlLogo;

public FramePrincipal(){
setTitle(“ACADEMIA FORÇA ATIVA”);

JImagePanel pnlLogo = new ImagePanel("C:\ logo.jpg");
FramePrincipal.add(pnlLogo, BorderLayout.CENTER);

cad = new CadastroAluno();
itemAlunos = new JMenuItem("alunos");
itemAlunos.addActionListener(new TratarBotoes(cad));

    JMenu menu1 = new JMenu("CADASTROS");
    menu1.add(itemAlunos);
    menu1.add(new JMenuItem("funcionários"));



…[/code]

acredito que o seu problema foi devido a “”,
utilize “\” duas contra-barras ao inves de uma

Calma ae… vou testar.

Não deu certo, não.
coloquei:

[code]…

JImagePanel pnlLogo = new ImagePanel(“C:\ logo.jpg”);
FramePrincipal.add(pnlLogo, BorderLayout.CENTER);

setVisible(true);
setSize(550, 490);
setLocation(400, 216);
}

}[/code]
e apareceu: cannot find symbol class JImagePanel
non-static method add(java.aet.Component.java.lang.Oblect)…

Tem uma sugestão do que seria?

  1. Adicione a classe JImagePanel no seu projeto. Você deve baixa-la do link ali em cima e colocar junto com seus arquivos;
  2. Use só this.add ou simplesmente add, como vc faria para um outro componente qualquer.

Entendi, mas quando você se refere a colocar a classe JImagePanel em meus arquivos, como faço isso? Salvo essa classe onde?

Põe no seu projeto. Você não tem outras classes aí? Basta colocar ele junto.

Boia noite Daniel35.

Existe duas maneiras de voce conseguir isto:

Percebo no seu código que voce está usando a classe Icon, quando o melhor seria usar a classe ImageIcon.

A primeira maneira, voce deve criar uma pasta “Imagens” dentro da pasta “src” do seu projeto, e dentro dessa pasta “Imagens”, coloque o seu arquivo de imagem “travelbug.gif”.

Na hora de criar o label, cria assim:

ImageIcon bug = new ImageIcon(Object.class.getResource("/Imagens/travelbug.gif");       
l1 = new JLabel ("ACADEMIA FORÇA ATIVA",bug,SwingConstants.CENTER);     
l1.setForeground(Color.white);     
add(l1);  

Repare a instrução “Object.class.getResource(…)”. Este método recupera qualquer arquivo que esteja dentro da pasta “src”, src que significa “source”. Por isto te mandei colocar a pasta Imagens dentro dela.

A segunda maneira é usar a classe File, neste caso voce deve colocar o arquivo de imagem junto com o projeto compilado “.jar”, assim sendo, supondo que a pasta Imagens esteja dentro da pasta onde está o “.jar”, eis o código:

File path = new File("");   
String dir = path.getAbsolutePath();   
ImageIcon bug = new ImageIcon(dir + "/Imagens/travelbug.gif");       
l1 = new JLabel ("ACADEMIA FORÇA ATIVA",bug,SwingConstants.CENTER);     
l1.setForeground(Color.white);     
add(l1);  

O ideal é voce utilizar a primeira opção:

Espero que agora voce consiga:

Vi que você perguntou novamente sobre esse mesmo assunto, num outro tópico.

O que não funcionou? Você tentou usar o JImagePanel? Tentou seguir as dicas do colega do post acima?

Sim, tentei seguir as dicas do colega acima, mas não consegui criar o .jar, pois estou usando o JCreator e esta ferramenta não ajuda a criar o .jar. Sobre a classe JImagePanel, também não tive sucesso em agregá-la em meu código. Estou sem saídas…

Qual foi o problema em incluir o JImagePanel no seu projeto?

Basta criar um arquivo chamado JImagePanel no seu projeto, abrir o texto do JImagePanel do link acima, recortar o conteúdo e colar nesse arquivo criado. Se der algum erro ou algum problema, recorte e cole aqui que te ajudamos a resolver.

Reporte os problemas que você está tendo, que te orientamos em como prosseguir, até que a coisa funcione. O que você não pode é repetir o tópico com a mesma dúvida, pois isso não irá fazer o assunto avançar.

Obrigado pela ajuda. Vou fazer isso que disse e logo postarei a resposta.