Friday, June 14, 2019

textures - Java getResourceAsStream as local resource


Before using LWJGL, I used the Graphic method, and there I displayed imageicons, and I had the picture file located in the resources. I used:


ImageIcon tcard = new ImageIcon(this.getClass().getResource("RCA.png"));

to load the image.



Now when I load textures in LWJGL, I have to use absolute paths to locate the file:


tcard = TextureLoader.getTexture("PNG",  ResourceLoader.getResourceAsStream("C:/RCA.png"));

I tried Googling, but I didn't find anything helpful. How can I load the image from the local resources like in the first example?



Answer



You can use the class file you're running your code in as a reference. So if you have the file RCA.png in the root directory you would use:


tcard = TextureLoader.getTexture("PNG", this.getClass().getResourceAsStream("RCA.png"));

Or if you were to have it inside an art directory in the root you would use:


TextureLoader.getTexture("PNG", this.getClass().getResourceAsStream("/art/RCA.png"));

No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...