2011-08-15 81 views
1

這讓我瘋狂! 我使用了連接和格式,並且當產生的字符串匹配正確的路徑時,循環從get go中拋出異常。爲什麼我在這裏得到一個文件沒有找到異常?

發生了什麼事?

ImageIcon thisWorks= new ImageIcon(testview.class.getResource("/led_images/"+1+"_off.png")); 
    for(int i = 1; i <= 10; i++) 
    { 
     String on = String.format("/led_images/%d_on.png",i); 
     String off = String.format("/led_images/%d_off.png",i); 


    ledIcons.put(i+"_off", new ImageIcon(testview.class.getResource(off))); 
    ledIcons.put(i+"_on", new ImageIcon(testview.class.getResource(on))); 
    } 

編輯: 我使用Map不正確嗎? 這是一個Map<String,ImageIcon>之一。

編輯2: 是的,我想我錯誤地使用了地圖。

我把它聲明如下:

public Map< String, ImageIcon> ledIcons; 

這是環內的空值。 所以我想這不像C++呢?

編輯3: 是的,從來沒有這個問題,我沒有正確初始化該領域,我的道歉。

+1

所以當它拋出一個異常,你用try catch塊包圍?你是否一行一行地調試這個代碼? –

回答

2

初始化場:

public Map< String, ImageIcon> ledIcons = new HashMap< String, ImageIcon>(); 
+0

的確修正了它。該死的其他語言習慣。 – Erius

+0

+1 - 很好的接收。 – duffymo

3

如果thisWorks作品,那麼顯然"/led_images/1_off.png"存在。如果環路中的圖像出現異常,則可能是

/led_images/2_off.png 
/led_images/2_off.png 
/led_images/3_off.png 
... 
/led_images/10_off.png 

/led_images/1_on.png 
/led_images/2_on.png 
/led_images/3_on.png 
... 
/led_images/10_on.png 

中的一個丟失。

編輯:我是否正確使用Map?這是一個地圖之一。

不,這對我來說很好。 (除非你有一個問題與檢索以後。)

相關問題