导出的项目文件夹中的图像位置

时间:2015-01-21 19:56:00

标签: java image class directory

在我当前的代码中,我写了我想在项目中使用的图像的具体位置,现在,这些位置只有在我将图像移动到不同的目录或在另一台计算机上打开应用程序之前才是正确的。

我在哪里放置图像(将它们放在导出的文件夹中的位置)我想在我的项目中使用?

导出的项目是一个zip文件,一旦解压缩,我在解压缩的文件夹中有2个文件夹,一个名为nbproject,另一个是src,一个文本文件名为build另一个.mf文件,名为manifest in nbproject我有两个文本文件和两个src里面的.properties文件我有四个类。

我在哪里放置我想要在项目中使用的图像?一旦我放置它们,我在项目中写什么目录?

以下是我如何使用图片的示例:

// Main menu background image

bgg[0] = new ImageIcon("D:/NetBeans/NetBeans projects/Java/Project Images/bg option for Vanguard.jpg").getImage();

然后我在屏幕上绘制图像

我导出的文件夹内容:

http://i.imgur.com/qd4PeJo.png http://i.imgur.com/W5YQ7OC.png

编辑:认为它有效,但它一直在其他人的计算机上给出例外,也许这不是因为我在我的电脑中移动图像并且它仍然有用但是仍然存在。

3 个答案:

答案 0 :(得分:1)

因为您在代码中编写目录。

bgg[0] = new ImageIcon("D:/NetBeans/NetBeans projects/Java/Project Images/bg option for Vanguard.jpg").getImage();

当您在另一台计算机上运行项目或将图像移动到另一个位置时,程序无法找到图片的路径,因此出现错误。而不是使用完整的路径。将图像复制到项目文件夹并使用相对路径。例如:" images / Vanguard.jpg"。

答案 1 :(得分:0)

不要使用严格的路径,使用如下的相对路径:

Main.java

String path = "Project Images/bg option for Vanguard.jpg";
bgg[0] = new ImageIcon(getClass().getResource(path)).getImage();

为了加载它,您必须将一个名为Project Images的文件夹放在Java文件所在的目录中。然后将图像bg option for Vanguard.jpg放在此文件夹中。请务必在IDE中编译该程序,以便它可以为编译版本制作副本。

答案 2 :(得分:0)

程序查找资源的路径取决于您运行程序的方式。如果您通过console / terminal运行它,则初始路径从您运行的* .class文件的路径开始。如果从IDE运行它,此路径可能会更改,在Eclipse中,路径从Project目录开始, src文件夹。您可以致电System.getProperty("user.dir")找出确切的路径,该路径会将当前工作路径返回为String