2010-04-26 73 views
1

我尝试将图像添加到JPanel。如果我指定图像的全名(包括所有文件夹的名称),它将起作用。但是我希望我的软件独立于机器(另一台机器与我的机器没有相同的文件夹结构)。所以,我把我的图像放在源代码的相同位置,并在我的代码中使用图像的名称(没有文件夹的名称)。这是行不通的。我把我的图像放到我的可执行文件所在的文件夹中。它不再工作。那么,为什么它不起作用,我该怎么办?如果我不使用图像的全名,为什么我看不到图像?

回答

3

相对文件名是相对于应用程序的当前目录(如由System propertyuser.dir定义的)解析的,不一定是它的源/ jar位置。

如果要加载与应用程序一起交付的图像(或其他资源),则最好将它们放入应用程序的.jar文件中,并使用ClassLoader加载它们。 getResource()和/或getResourceAsStream()

相关问题