2014-03-03 27 views
0

我對Java很新,我正嘗試使用NetBeans 7.4創建一個小型骰子游戲。我創建了遊戲,它工作正常,但我想運行在NetBeans IDE的項目之外運行的程​​序,所以我創建了一個Windows批處理文件(.bat)這樣的伎倆:如何從已編譯的NetBeans項目中訪問.png文件-java

@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"); 但它拋出:在yahtzee.yahtzeeGUI螺紋

異常 「主」 顯示java.lang.NullPointerException 在javax.swing.ImageIcon中(ImageIcon.java:205) 。 (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,如果有任何幫助。

回答

2

src一旦應用程序被編譯就不會存在,事實上,你永遠不應該引用src有史以來,它不是必需的。

NetBeans將捆綁src目錄的內容,但不包括*.java(和*.form),到生成.jar文件,這包括你的圖像

相反,嘗試使用getClass().getResource("/images/d_1.png");代替

相關問題