如何从已编译的netbeans项目中访问.png文件 - java

时间:2014-03-03 05:44:51

标签: java netbeans

我是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,如果有任何帮助的话。

1 个答案:

答案 0 :(得分:2)

编译应用程序后,

src将不存在,事实上,您永远不应该引用src,这不是必需的。

NetBeans会将src目录的内容(不包括*.java(和*.form)捆绑到生成的.jar文件中,其中包括您的图片

相反,请尝试使用getClass().getResource("/images/d_1.png");代替