为了账号安全,请及时绑定邮箱和手机立即绑定

如何从NetBeans中的“Resources”文件夹中正确获取图像

如何从NetBeans中的“Resources”文件夹中正确获取图像

斯蒂芬大帝 2019-09-03 15:38:15
我在NetBeans 7.0中有一个Java项目。我想动态地将一些图像添加到某个标签。图像将根据程序的状态而有所不同。我把一个这样的图像'filling.jpg'放在我项目的'resources'文件夹中。我想正确地访问此文件(不是通过绝对路径或相对路径,因为这会在构建jar文件时导致问题)。所以我找到了这个方法:ImageIcon fillingIcon = new ImageIcon(getClass().getClassLoader().getResource("filling.jpg"));labelFontFilling.setIcon(fillingIcon);它一直给我java.lang.NullPointerException。但我确信有那个图像,因为我可以从NetBeans Properties菜单中为该标签分配图像(但我不想这样,我想通过Java代码添加图像)。我做错了什么,我怎样才能正确地获得该图像?
查看完整描述

3 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

我有一个稍微不同的方法,可能对某些人有用/更有益。


在主项目文件夹下,创建资源文件夹。您的文件夹结构应如下所示。


项目文件夹

建立

DIST

LIB

nbproject文件

资源

SRC

转到项目的属性。您可以通过在“项目”选项卡窗口中右键单击项目并在下拉菜单中选择“属性”来执行此操作。


在左侧的类别下,选择“来源”。


在右侧的源包文件夹中,使用“添加文件夹”按钮添加资源文件夹。单击“确定”后,您应该在项目下看到“资源”文件夹。


您现在应该能够使用此行或类似方法提取资源:


MyClass.class.getResource("/main.jpg");

如果要在resources文件夹下创建名为Images的包,则可以检索如下所示的资源:


MyClass.class.getResource("/Images/main.jpg");


查看完整回答
反对 回复 2019-09-03
?
萧十郎

TA贡献1815条经验 获得超13个赞

谢谢,Valter Henrique,你的小费我设法意识到,我只是输入了错误的路径到这个图像。在我尝试的一个尝试中使用


    String pathToImageSortBy = "resources/testDataIcons/filling.png";

    ImageIcon SortByIcon = new ImageIcon(getClass().getClassLoader().getResource(pathToImageSortBy));

但正确的方法是在资源路径中使用我的项目名称


String pathToImageSortBy = "nameOfProject/resources/testDataIcons/filling.png";

ImageIcon SortByIcon = new ImageIcon(getClass().getClassLoader().getResource(pathToImageSortBy));


查看完整回答
反对 回复 2019-09-03
  • 3 回答
  • 0 关注
  • 873 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号