2013-01-05 43 views
0

我在看這個教程:On how to create custom JButtons如何將圖標添加到一個JButton

,我把我的文件在C <用戶< MyUserName輸入<工作區<項目名< SRC像教程說,我得到這個錯誤Exception in thread "main" java.lang.NullPointerException at javax.swing.ImageIcon.<init>(Unknown Source) at Gui.<init>(Gui.java:20) at tuna.main(tuna.java:6) 關於下一個教程的評論,它說,把它放在C <用戶< MyUserName <工作區<工程名稱< bin所以我試過,我仍然得到同樣的錯誤。我使用的是eclipse,我有一個比本教程中使用的更新的版本。任何幫助?

附加信息:文件是png格式

金槍魚:

Gui item = new Gui(); 
    item.setSize(300,300); 
    item.setLocation(200,100); 
    item.setVisible(true); 
    item.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

編輯:現在的工作,我不知道爲什麼它之前error'd,我沒有改變什麼。無論如何感謝您的幫助!

+2

你需要顯示一些代碼,尤其是類金槍魚 –

+0

錯誤的文件路徑永遠不會給NullPointerException。最好是顯示一下你的代碼 – exexzian

+0

@nPwn你所顯示的代碼是無用的,向我們展示更多你的代碼,在那裏你創建你的JButton並設置它的圖標 – exexzian

回答

0

您可以使用以下命令查看根目錄是什麼。

File f = new File(""); 
    System.out.println(f.getAbsolutePath()); 

很可能您的程序正在尋找與您認爲不同的目錄。

3

只要您從放置圖像的位置加載圖像,放置圖像的位置並不重要。如果您使用的是

Icon yourIconName = new ImageIcon(getClass().getResource("yourIconName.png")); 

那麼它不僅需要在您的src文件夾內,而且還需要與金槍魚一樣的包。

如果您使用的絕對路徑類似"C/Users/MyUserName/workspace/projectName/imageFile.png",請確保您有正確的路徑來嘗試查找圖像。

另外,它看起來像你使用的是新波士頓的教程,如果你想發佈你正在看的那個教程可能會有所幫助。

+0

我發佈了教程 – nPwn

+0

對不起!看起來您使用的是第一個選項,因此請確保將圖像保存在與金槍魚類相同的包中,並且確保已正確拼寫「yourIconName.png」。 – user1654889