Arquivo .jar não carrega imagens do programa

Pessoal criei um arquivo .jar de um jogo de Damas que eu fiz, ele abre normalmente clicando no arquivo, só que ele não carrega as imagens do programa. Alguem sabe me dizer qual e o problema? Valeu. Obs: fiz usando o eclipse.

Como vc está carregando as imagens no seu programa dentro do jar?Posta o código aqui(favor usar as tags Code!)

  Minha classe Principal onde eu coloco o caminho das img, crio o Frame e implemento o Painel com o Tabuleiro: 
package game;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

public class Principal extends JFrame implements ActionListener {
	
	JLabel texto, nome, nomeori;
	ImageIcon imgDama;
	String nomeuser;
	JMenuBar barraMenus; // barra de menus
	JMenuItem itemdeMenu; // intem de um menu
	
	
	public Principal(){
		setExtendedState(JFrame.MAXIMIZED_BOTH);
		
		//imgDama = new ImageIcon("../JogoDamas/imagens/titulo.jpg");
		imgDama = new ImageIcon("../JogoDamas/bin/SRC/imagens/titulo.jpg");// Aqui eu carrego as img, so q nao aparece qdo clico no arquivo .jar
		// só qdo eu compilo e abro ele pelo eclipse
		// me falaram q tinha q mudar a maneira como se chama as img no projeto, so que nao sei como faz isso

		nome = new JLabel("Nome jogador:");
		nome.setBounds(600, 180, 100, 20);
		nome.setVisible(false);
		this.getContentPane().add(nome);
		
		nomeori = new JLabel("");
		nomeori.setBounds(700, 180, 100, 20);
		nomeori.setVisible(false);
		this.getContentPane().add(nomeori);
		
		
		barraMenus = new JMenuBar();
		this.setJMenuBar(barraMenus);
		
		JMenu arquivo = new JMenu("Arquivo");
		JMenu edit = new JMenu("Editar");
		barraMenus.add(arquivo);
		barraMenus.add(edit);
		
		JMenuItem novo = new JMenuItem("Novo Jogo");
		JMenuItem abrir = new JMenuItem("Recordes");
        JMenuItem sair = new JMenuItem("Sair");
        
        novo.addActionListener(this);
        sair.addActionListener(this);
        
        JMenuItem recortar = new JMenuItem("Recortar");
        JMenuItem copiar = new JMenuItem("Copiar");
        JMenuItem colar = new JMenuItem("Colar");
        
        arquivo.add(novo);
        // linha horizontal
		arquivo.addSeparator();
		arquivo.add(abrir);
		arquivo.addSeparator();
        arquivo.add(sair);
        
        edit.add(recortar);
        edit.addSeparator();
        edit.add(copiar);
        edit.addSeparator();
        edit.add(colar);
        		 
		// Jogo a imagem em um Label e posiciono ela		
		texto = new JLabel(imgDama);
		texto.setBounds(180, 50, imgDama.getIconWidth(), imgDama.getIconHeight());
		texto.setVisible(true);
		this.getContentPane().add(texto);
		
		// add Painel Tabuleiro no Frame
		this.getContentPane().add(new Tabuleiro());
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		/* Posicao inicio Tabuleiro
		 * x=180 y=180
		 * 
		 * Posicao Final Tabuleiro
		 * x=495 y=495
		 *  
		 */
				
	}
	
	public void addNome(){
		nomeuser = JOptionPane.showInputDialog("Digite seu nome: "); // String recebendo o nome a ser digitado
		nome.setVisible(true); // deixa Label padrão do user visivel
		
		// label q recebe o nome digitado
		nomeori.setText(nomeuser);
		nomeori.setVisible(true);
		
		
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new Principal().setVisible(true);			
		
	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		String evento; 
		evento = arg0.getActionCommand();
		
		if(evento.equalsIgnoreCase("Sair")){
			System.exit(0);
			
		}
		if(evento.equalsIgnoreCase("Novo Jogo")){
			addNome(); // executa metodo p/ adicionar nome ao Label
						
		}	
	}

}
  Esse é o Painel onde eu crio o Tabuleiro, com todas as posicoes e casas dele, só pra vc dar uma olhada: 
package game;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;

import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class Tabuleiro extends JPanel  {

	int i,j;
	int size=45;
		
	public Tabuleiro(){
		
		this.setBackground(Color.WHITE);
		this.setVisible(true);
		
		
	}
	
	protected void paintComponent(Graphics g){
		super.paintComponent(g);
				
		Rectangle2D.Double r;
		Graphics2D g2 = (Graphics2D) g.create();
		final BasicStroke stroke = new BasicStroke(10.0f); // falta o formato aqui
		float dashes[] = { 10 }; // comprimento do pontilhado em pixels
		// cria linhas como bordas do tabuleiro 
		g2.setPaint(Color.BLACK); // 1ª linha horizontal
		g2.draw(new Line2D.Double(180,180,540,180)); 
		
		g2.setPaint(Color.BLACK); // 1ª linha vertical 
		g2.draw(new Line2D.Double(180,180,180,540)); 
		
		g2.setPaint(Color.BLACK); // 2ª linha horizontal 
		g2.draw(new Line2D.Double(180,540,540,540)); 
		
		g2.setPaint(Color.BLACK); // 2ª linha vertical 
		g2.draw(new Line2D.Double(540,540,540,180)); 
		
		
		//g2.setStroke(new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 10,dashes, 0));
		/**
		 * BasicStroke.CAP_ROUND = extremidades arredondadas
		 * BasicStroke.JOIN_ROUND = juncao de linhas arredondadas, Ex: em um vertice de um triangulo
		 * g2.draw(new Line2D.Double(20,30,320,150));
		 */
				
		// Usando for pra desenhar em toda a mesa os quad. Pretos
		for(i=2;i<6;i++)
			for(j=2;j<6;j++){
						
				g2.setColor(Color.BLACK); 
				r = new Rectangle2D.Double(i*2*size, j*2*size, size, size);
				g2.fill(r); // desenha a forma pintada
				
				r = new Rectangle2D.Double(i*2*size+size, j*2*size+size, size, size);
				g2.fill(r); // desenha a forma pintada
								
				
			}
			g2.setStroke(stroke);  // coloca borda no tabuleiro inteiro(dando errado aqui!)
			g2.dispose(); // joga tudo na tela
				
	}
		
}

Dá uma olhada em http://www.guj.com.br/java/17127-jar-com-imagens pode ser que te ajude.