2014-02-12 14 views
-1

我想爲我編寫的這個數學練習程序建立一個工具欄。我試圖從名爲圖像的文件夾中獲取圖像。它不會允許我。它給了我一個NullPointerException異常,我將用Exception指向的*來標記行。我得到一個nullPointerException在我的URL鏈接

public JButton makeNavigationButton(String imageName, String toolTipText) { 
    String imgLocation = "images/" + imageName + ".jpg"; 
    URL imageURL = MathPractice.class.getResource(imgLocation); 
    JButton button = new JButton(); 
    button.setToolTipText(toolTipText); 
    //button.addActionListener(this); 
    button.setIcon(new ImageIcon(imageURL)); //************* NPE here 
    return button; 
} 
+0

你認爲所有的代碼是相關的嗎?不要讓我們的生活變得困難。 –

+0

可能不是大聲笑 – user278153

+0

修好了,希望它足以找到答案。 – user278153

回答

1

Class.getResource()文檔說:

查找具有給定名稱的資源。用於搜索與給定類關聯的資源 的規則由類的定義類 加載器實現。此方法委託給此對象的類 加載程序。如果此對象由引導類加載器加載,則 方法委託給ClassLoader.getSystemResource(java.lang.String)。

代表團之前,絕對的資源名稱是從 給定的資源名稱中使用此算法構建:

如果名字以「/」(「\ u002f」)開始,然後是資源的絕對名稱是'/'後面的名稱部分。 否則,絕對名稱是以下形式的:

modified_package_name/name 

凡modified_pa​​ckage_name是該對象以「/」取代的包名「」 ( '\ u002e')。

在Eclipse中,如果目錄imagesbin中,則會找到它。將images移至src/images

相關問題