Here you can find the source of getIcon(String iconResource)
Parameter | Description |
---|---|
iconResource | Resource location string. |
public static Icon getIcon(String iconResource)
//package com.java2s; import java.net.URL; import javax.swing.*; import javax.swing.plaf.*; public class Main { /**// w w w . ja v a 2 s .c om * Returns an icon pointed to by the specified string. * * @param iconResource * Resource location string. * @return Icon. */ public static Icon getIcon(String iconResource) { ClassLoader cl = getClassLoaderForResources(); URL iconUrl = cl.getResource(iconResource); if (iconUrl == null) return null; return new IconUIResource(new ImageIcon(iconUrl)); } /** * Returns the class loader for loading the resource files. It is a fix by * Dag Joar and Christian Schlichtherle for application running with * -Xbootclasspath VM flag. In this case, the using * MyClass.class.getClassLoader() would return null, but the context class * loader will function properly that classes will be properly loaded * regardless of whether the lib is added to the system class path, the * extension class path and regardless of the class loader architecture set * up by some frameworks. * * @return The class loader for loading the resource files. */ public static ClassLoader getClassLoaderForResources() { ClassLoader cl = (ClassLoader) UIManager.get("ClassLoader"); if (cl == null) cl = Thread.currentThread().getContextClassLoader(); return cl; } }