2012-11-28 140 views
0
public class Intro extends JFrame implements ActionListener { 
     ImageIcon pic = new ImageIcon(this.getClass().getResource("cars-games.jpg")); 
     JLabel l1 = new JLabel(); 
     Image car = pic.getImage(); 

     public static void main (String[]args){ 
      Intro i = new Intro(); 
      i.show(); 
     }  
    } 

它給我這個錯誤:異常螺紋

Exception in thread "main" java.lang.NullPointerException 
    at javax.swing.ImageIcon.<init>(Unknown Source) 
    at Intro.<init>(Intro.java:15) 
    at Intro.main(Intro.java:58)  

誰能幫助PLZ。

+0

哪一行是第58行? – Xymostech

+0

這是第58行嗎? –

+0

介紹i = new Intro(); –

回答

4

您的資源爲空,且無法使用空參數構建ImageIcons。

確保您輸入了「cars-games.jpg」的正確路徑。

+0

很高興有幫助。不要忘記將答案標記爲已接受。 – Vulcan

1

我認爲它無法讀取您的圖像文件,因此這個問題。

嘗試使用classLoader爲:

 ImageIcon pic = new ImageIcon(getClass().getClassLoader() 
            .getResource("cars-games.jpg")); 

如果你仍然得到那麼同樣的問題,確保cars-games.jpg是在你的類加載器的位置的根可用。

+0

這應該沒什麼區別,因爲'Class#getResource'只是從它的類加載器調用同樣的方法。 – Vulcan

0

我在本學期的java遊戲項目開發開始時就遇到了這個問題。這通常意味着您嘗試訪問的資源無法找到(即Nullpointerexception)。我所做的一切都比較容易,只是在您的java項目中創建一個名爲images的單獨文件夾(特別是如果您在此項目中使用多個圖像)。然後你可以用你的目錄調用新的ImageIcon。最終讓事情變得更容易。

如前所述,getClassLoader()也可以工作!