2011-06-11 44 views
0

爲什麼這不是在Windows上工作,但在Mac上?從資源窗口加載圖像不工作

public final static String PATH = "resources" + File.separator; 

/** Returns an ImageIcon, or null if the path was invalid. */ 
public static ImageIcon createImageIcon(String name, String description) { 
    java.net.URL imgURL = GuiTools.class.getResource(PATH + name); 
    if (imgURL != null) { 
     return new ImageIcon(imgURL, description); 
    } else { 
     System.err.println("Couldn't find file: " + PATH + name); 
     return null; 
    } 
} 
+0

不要忘記選擇最有效的答案,方法是單擊答案旁邊的綠色複選框。 – 2011-06-11 14:32:23

回答

2

由於文件分割符是依賴於系統的字符的文件,這是「/」的Mac,但「\」的窗口。但是,在URL中,所有分隔符都應該是'/'。嘗試更改第一行爲:

public final static String PATH = "resources/"; 
+0

這就是我第一次想到的,但它沒有解決它。 – Magreet 2011-06-11 15:57:44

+0

你如何在每個環境中運行java?來自同一個目錄?兩種情況下你的類路徑是否設置相同?你能發佈你正在運行的啓動java的實際命令,並確保你從同一個相對目錄運行它。 – 2011-06-12 06:04:19

+0

是的,這是我用java -jar Test.jar啓動時沒有參數的文件 – Magreet 2011-06-21 14:42:01