package edu.mbl.jif.utils.diag;
import edu.mbl.jif.utils.diag.JWhich;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class IconUtils {
public IconUtils() {
}
public static ImageIcon loadImageIcon(String imageFile, String path) {
ResourceManager rm = new ResourceManager(path);
return rm.getImageIcon(imageFile);
}
public static ImageIcon loadImageIcon(String gifFile, Class clazz) {
ImageIcon img = null;
URL url = null;
try {
url = JWhich.findClass(clazz.getName());
String urlS = url.toString();
int lastSlash = urlS.lastIndexOf("/");
String path = urlS.substring(0, lastSlash) + "/icons/" + gifFile;
System.out.println(path);
img = new ImageIcon(path);
// url = clazz.getResource("/icons/" + gifFile);
// img = new ImageIcon(url);
} catch (Exception e) {
System.out.println("Exception loading: " + url);
}
if (img == null) {
System.out.println("Could Not Load Image: " + gifFile + " for class: " + clazz.getName() + " from URL: " + url);
}
return img;
}
public static final class ResourceManager {
String baseURL;
public ResourceManager(String url) {
baseURL = url + "/";
}
public Image getImage(String imageName) {
ClassLoader cl = Thread.currentThread().getContextClassLoader();
InputStream ins;
BufferedImage bi;
ins = cl.getResourceAsStream(baseURL + imageName);
try {
bi = ImageIO.read(ins);
} catch (Exception e) {
bi = null;
}
return bi;
}
public ImageIcon getImageIcon(String imageName) {
Image i = getImage(imageName);
if (i == null) {
return null;
} else {
return new ImageIcon(getImage(imageName));
}
}
}
}