you can pakage those icons into a jar file, and load them from that jar file when needed.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.net.*;
import java.text.*;
import java.awt.font.*;
import javax.swing.plaf.metal.MetalLookAndFeel;
import java.awt.image.*;
public class StaticLoadIcon extends Object
{
static StaticLoadIcon static_icon_loader=null;
public static synchronized  ImageIcon getImageIcon1(String fileName)
{//this function can get image from jar file(the same jar file containing this class)
 //file name is case sensitive in jar file!!!
if(static_icon_loader==null)
static_icon_loader=new StaticLoadIcon();
int c, i = 0;
byte buffer[];
InputStream in;
ImageIcon m_image;
try
{
in = static_icon_loader.getClass().getResourceAsStream(fileName);
buffer= new byte[(int)in.available()];
while((c = in.read()) != -1)
{
buffer[i] = (byte)c;
i++;
}
m_image = new ImageIcon(buffer);
}
catch(Exception ex)
{
System.out.println("ImageIcon-Problem " + "\n" +ex);
return null;
}
return m_image;
}//end of  public ImageIcon getImageIcon(String fileName)
}//usage : StaticLoadIcon.getImageIcon1("pic/eye.gif")directory structure:
c:\test\StaticLoadIcon.class  
c:\test\pic\*.gif
create a jar file to package c:\test.