从资源窗口加载图像不工作

问题描述:

为什么这不是在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

由于文件分割符是依赖于系统的字符的文件,这是“/”的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