所以我遵循netbeans(我使用的是12.2)教程来处理图像:
https://netbeans.org/kb/73/java/gui-image-display.html?print=yes
我可以在设计器中看到图标,但是当运行getResource()返回一个null,表明它找不到资源。
我发现这个问题似乎是相关的:
Netbeans ImageIcon不显示
我已经确保我使用的是一个包而不是一个文件夹。
生成的错误:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.desktop/javax.swing.ImageIcon.<init>(ImageIcon.java:217)
at com.byotrader.zom.ZomFrame.initComponents(ZomFrame.java:37)
代码行:
jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/byotrader/zom/resources/ZomIcon.gif"))); // NOI18N
我不知道为什么运行时会失败。
所以我对netbeans的介绍并不像我希望的那样顺利!
按要求项目截图:
https://photos.app.goo.gl/CJ4EB3PD4a86nAVK8
你知道我做错了什么吗?
关于以下问题的一个建议答案:
netbeans,java, resourceMap。getString返回null
然而,答案清楚地表明,这只是一个问题,如果一个干净的构建还没有完成。这不是我的问题,因为我已经尝试了一个干净的构建!
然而,在.jar文件中我可以看到图片资源没有被添加!我想这就是问题所在。然而,我不知道如何才能强迫IDE完成它的工作!
链接文件结构:
https://photos.app.goo.gl/bRxHHW2UtRjPF7LeA
这个链接也可以帮助其他人:
Netbeans Maven Project - Other Sources没有出现
(是Maven*)把你的图片放在:
src/main/resources/com/byotrader/zom/resources/ZomIcon.gif
../resources/...
解释:
Netbeans(在maven项目上)完全(除了在设计器模式下!;)使用maven构建。! …这意味着……没有gif(等)文件被认为是src/main/java
…(检查target/classes
文件夹!)
在我的修复建议之后,图像应该在所需的位置。
*该教程(,其中明确地告诉"Java项目")有点过时的Netbeans 12.2,那里没有"Java项目"…可能的替代方案是(maven/gradle) "Java前端项目"(需要javaFX!)或"好版本";(ant) " samples &>Java With ant "