我是Java的新手,我正在尝试使用NetBeans 7.4创建一个小骰子游戏。我创建了游戏并且工作正常,但我希望在NetBeans IDE中运行项目之外运行该程序,因此我创建了一个Windows批处理文件(.bat)来实现这一目的:
@ECHO OFF
java -jar "C:\Users\Admin2\My Documents\NetBeansProjects\yahtzee\dist\yahtzee.jar"
虽然这在执行项目时有效(当然我在构建和编译之后),但我注意到我的所有外部资源都丢失了 - 主要是我用来显示骰子的.png文件;它们根本不会出现NetBeans内部不存在的问题。
我试过了
ImageIcon diceSideOne = new ImageIcon(this.getClass().getResource("src//images//d_1.png");
但它抛出:
线程“main”java.lang.NullPointerException中的异常 在javax.swing.ImageIcon。(ImageIcon.java:205) 在yahtzee.yahtzeeGUI。(yahtzeeGUI.java:17) 在yahtzee.Yahtzee.main(Yahtzee.java:7)
Java结果:1
我几乎可以肯定我错误地使用this.getClass().getResource()
,但我找不到任何有关如何正确使用它的有用信息。有人可以帮助解决我的问题或者向我发送正确的方向吗?任何帮助是极大的赞赏。我试图访问的图片位于C://Users//Admin2//My Documents//NetBeansProjects//yahtzee//src//images//d_1.png
,如果有任何帮助的话。
答案 0 :(得分:2)
src
将不存在,事实上,您永远不应该引用src
,这不是必需的。
NetBeans会将src
目录的内容(不包括*.java
(和*.form
)捆绑到生成的.jar
文件中,其中包括您的图片
相反,请尝试使用getClass().getResource("/images/d_1.png");
代替