从相对路径获取图像

在我的项目中,我有2个包。 图像 – 包含图像和通知 – 包含java文件

在notification / main.java中,我使用此代码从image获取Image对象

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

而且我无法获得图像。

我该如何修复这个bug。

我正在使用Netbeans开发Java桌面应用程序,我已经解决了我的问题。

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

“this”是一个扩展 JFrame的类

/表示绝对路径,保存Java web-apps,其中/表示相对于上下文。 所以,我建议使用相对URL,意味着摆脱那个/在前面,然后提供正确的路径。

万一,即使这样你也无法解决它,尝试在你正在寻找图像的同一路径上创建一个文件。 通过这种方式,您将了解到您的确切位置以及您应该在哪里看。

你也可以试试

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

我也一直在这,事实certificate你需要在你的src文件夹中创建一个包。 对于instace,如果你在src文件夹中创建一个名为images的包,你的相对路径将是/images/yourimage.png。

请注意斜杠(/)必须在那里! 更多信息,请访问http://sofzh.miximages.com/java/”));

如果您有一个可行的JFrame,请尝试该代码。 如果你有一个Applet,那就用吧

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

对于小程序,你永远不想在开头使用/,但是如果你有一个JFrame,并且你正在使用getResource,那么你需要在Path的开头使用/。

如果上面的解决方案不起作用,试试这个(这对我有用):

 Image image = Toolkit.getDefaultToolkit().createImage(this.getClass().getResource("/Images/bell-icon16.png")); 
 SwingResourceManager.getImage(YourClass.class,"key-16x16.png"); 

getIcon方法将返回Icon类似的方法

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