Dentro do package da classe crie um folder (pelo eclipse: botão direito no package>new>folder), para facilitar, dê o nome de imagem. Depois de criar o folder, importe a imagem, (no eclipse: botão direito no folder,>import>general>file system> escolha o diretório em que se encontra a imagem> escolha a imagem> finish.) Pronto! você importou a imagem para o seu projeto e ela acompanhara o arquivo .jar em qualquer lugar que vá.
Declare uma variável do tipo String depois da declaração da classe.
Dentro do frame coloque:
suaVariavelString = new String( "imagem/suaImagemImportada.png" );
java.net.URL variavelUrl = getClass().getResource(suaVariavelString);
No construtor do label:
Pronto!
Um exemplo:
package testes;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Imagem extends JFrame
{
public JLabel lbImagem;
public String Imagem;
public static void main(String[] args)
{
Imagem img = new Imagem();
img.setVisible(true);
}
public Imagem()
{
setLayout(null);
setSize(300,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Imagem");
setLocationRelativeTo(null);
setResizable(false);
//****
Imagem = new String( "imagem/bola2.gif" );
java.net.URL variavelUrl = getClass().getResource(Imagem);
lbImagem = new JLabel(new javax.swing.ImageIcon(variavelUrl));
lbImagem.setBounds(120,100,50,48);
getContentPane().add(lbImagem);
}
}
Veja o exemplo em formato .jar, o .jar tem a imagem dentro dele e em qualquer lugar que for, a imagem funcionará normalmente. Descompacte o .jar com um descompactador de arquivo normal e veja a hierarquia dos arquivos e pasta.
POxa, mt obrigado msm pela sua ajuda e me desculpe por ter colocado um post parecido. é q eu sou iniciante em java e membro recente deste site. Eu achei que minha dúvida não tinha fikado clara e por isso fiz outro post, mas não mais acontecerá, vlw msm. Mt obrigado pela dica.