my very first question:
I've been trying to figure this out for a couple of days, but I got to the point I lost my patience. The following are some code and my project structure.
QUESTION: how can I get getResources()
to work in eclipse and after being imported to jar?
Thanks for the help.
public enum Icons {
XXX("src/resoruces/icons/xyz.png");
private ImageIcon icon;
Icons(String path) {
try {
// will fail miserably in eclipse and after exporting to jar
URL imageURL = getClass().getClassLoader().getResource(path);
icon = new ImageIcon(imageURL);
} catch (Exception e) {
// works like a char in eclipse and after creating the jar file
// with the files in the same directory
System.out.println("getResoruce() did not work");
icon = new ImageIcon(path);
}
}
Normally when exporting a JAR file from Eclipse, the contents of src\/resources<\/code> are exported minus<\/em> the
src<\/code> path name itself.
To get the image to load from your JAR you could do:
InputStream stream = getClass().getResourceAsStream("/resources/icons/xyz.png");
ImageIcon icon= new ImageIcon(ImageIO.read(stream));
If the png files have been packaged into the JAR in the same locations as they are in the original src directory then
XXX("resources/icons/xyz.png");
src<\/code> directory is not available in classpath
InputStream imageInputStream = getClass().getClassLoader().getResourceAsStream("resources/icons/xyz.png");
byte[] imageData = org.apache.commons.io.IOUtils.toByteArray(in)
ImageIcon imageIcon = new ImageIcon(imageData, "description about image");
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.