DCSoft
DCSoft

Reputation: 237

Getting images from a .jar file

I need to get res folder to compile when I export a executable jar file in eclipse also when I use the getClass().getResource() method it doesn't work.

Current reading image code

public Image loadImage(String fileName) {
    return new ImageIcon(fileName).getImage();
}

Code that doesn't work

public Image loadImage(String fileName) {
    return new ImageIcon(getClass().getResource(fileName).getImage();
}

Upvotes: 3

Views: 16463

Answers (2)

DCSoft
DCSoft

Reputation: 237

I have now fixed the problem - this is the code that works

 public BufferedImage loadImage(String fileName){

    BufferedImage buff = null;
    try {
        buff = ImageIO.read(getClass().getResourceAsStream(fileName));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }
    return buff;

}

The value of fileName is just an image name eg BufferedImage img = loadImage("background.png");

Thank you all for your help.

Upvotes: 3

Mattias Isegran Bergander
Mattias Isegran Bergander

Reputation: 11909

Either:

  • your path is wrong, you should get an error message if so, check it to see what path it actually tries, might not be what you think. Or debug and see what path it tries or even just print the path it tries.

or

  • it's not in the jar. Check the jar file with a zip-program and/or rename it to have zip in the and open it to check that the file is really there.

Upvotes: 2

Related Questions