Portaljacker
Portaljacker

Reputation: 3142

getResource() -> Source not found

I'm following the tutorial here. The file is in the same root folder of the project. I've tried doing it when it's in the src folder and in the same package folder. None of those 3 locations worked.

The specific line of code is:

ImageIcon ii = new ImageIcon(this.getClass().getResource("bardejov.jpg"));

Any idea what I'm doing wrong?

Upvotes: 1

Views: 5343

Answers (3)

dku.rajkumar
dku.rajkumar

Reputation: 18568

// absolute from the classpath
MyClass.class.getResource("/myfolder/abc.txt");
// relative to the class location
MyClass.class.getResource("abc.txt");
// another relative to the class location
MyClass.class.getResource("myfolder/abc.txt");

Upvotes: 3

Hovercraft Full Of Eels
Hovercraft Full Of Eels

Reputation: 285405

The getResources(...) method looks for the file relative to where the default class loader looks, and so for your code above, bardejov.jpg would need to be with the class files to be found. Myself, I usually create a subdirectory off of the class file directory, say called "images" and place my images there, and then look for them using getClass().getResource("images/bardejov.jpg")

For more on this, please check out the Class API.

Upvotes: 2

Pritom
Pritom

Reputation: 1333

If your image is in the same folder then it would work, but if your image is in root folder then use /bardejov.jpg.

Upvotes: 1

Related Questions