开发者

Get image from relative path

In my project I have 2 packages. images - contain images and notification - contain开发者_StackOverflow java files

In notification/main.java I get Image object from image using this code

Image image = Toolkit.getDefaultToolkit().getImage("/images/key-16x16.png");

and I can't get image.

How can I fix this bug.


I'm using Netbeans to develop Java desktop application and I have solved my problem.

Image image = new ImageIcon(this.getClass().getResource("/images/bell-icon16.png")).getImage();

"this" is a class extends JFrame


/ means an absolute path, save Java web-apps where / means relative to context. So, I would suggest to use relative URL, means get rid of that / in front, and then provide the right path.

In case, even then you can't solve it, try to create a file on the same path you are looking for image. This way you will know that where you are looking exactly and where you should look.


You could also try

Image image = new ImageIcon(path).getImage();


Incase the solution above doesn't work, try this (which worked for me):

Image image = Toolkit.getDefaultToolkit().createImage(this.getClass().getResource("/Images/bell-icon16.png"));


i've also been on this and it turns out that you need to create a package inside of your src folder. for instace if you create a package called images inside of the src folder, your relative path will be /images/yourimage.png.

Notice that the slash(/) must be there! more info here http://forums.macrumors.com/showthread.php?t=533922

it worked for me


Toolkit tk = Toolkit.getDefaultToolkit();
Class<? extends JFrame> j = YOURJFRAME.getClass();
Image image = tk.createImage(j.getResource("/images/bell-icon16.png"));

Try that code, if you have a JFrame that will work. If you have an Applet, then just use

Toolkit tk = Toolkit.getDefaultToolkit();
Image image = tk.createImage("images/bell-icon16.png");

With applets you never want to use the / in the beginning, but if you have a JFrame, and you are using getResource, you need the / in the beginning of the Path.


SwingResourceManager.getImage(YourClass.class,"key-16x16.png");

The getIcon method will return Icon as similar


setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("../resources/MainIcon.png")));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜