package org.drugis.common; import java.awt.Image; import java.util.HashMap; import java.util.Map; import javax.swing.ImageIcon; public class ImageLoader { private Map<String, ImageIcon> d_icons; private String d_imagePath; public ImageLoader(String imagePath) { d_imagePath = imagePath; d_icons = new HashMap<String, ImageIcon>(); } public ImageIcon getIcon(String name) { if (d_icons.containsKey(name)) { return d_icons.get(name); } else { java.net.URL imgURL = ImageLoader.class.getResource(deriveGfxPath(name)); if (imgURL == null) { System.err.println("Error loading image " + deriveGfxPath(name)); return null; } ImageIcon icon = new ImageIcon(imgURL); d_icons.put(name, icon); return icon; } } public Image getImage(String name) { return getIcon(name) == null ? null : getIcon(name).getImage(); } private String deriveGfxPath(String name) { return d_imagePath + name; } }