如何设置对象路径到应用程序目录

时间:2019-01-20 16:17:40

标签: java swing

我使用计算机中的图像对象编译了应用程序

ImageIcon background = new ImageIcon("D:\\pictures\\background.png")

一旦我更改图片位置,似乎就看不见了。然后,我将这些图像复制到了应用文件夹中,但不知道如何设置它们的路径。想法是为JavaFx应用程序设置图像的路径,该路径应位于同一文件夹中。当我的应用程序位于某人的计算机中时,系统应该知道该文件夹所在位置的应用程序文件夹中的图片。 预先感谢


在此,我根据建议进行了一些更改。

我通过创建新的包resources.images并将其拖动到其中,将图像直接添加到项目文件夹中。 然后,我创建了BufferedImage img;并为所需的每张图像设置了路径

  Image bg;
Image fg;
Image object;
img  = ImageIO.read(getClass().getResource(“resources/images/img1.png”));
bg = img;
img = ImageIO.read(getClass().getResource(“resources/images/img2.png”));
  fg  = img; 

以此类推... 然后,我通过paintComponent绘制了这些图像。 一切似乎都很好,可以在我的环境中编译后正常工作,但是一旦我创建JavaFx应用并运行.exe文件,图像就不会显示,只是空白帧。 :(帮助我与这些家伙打交道。Thx

1 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,则希望使用您定义的图像,然后在运行您的应用的任何计算机上使用这些图像。如果这是您要尝试的操作,我建议以下几点:

在您的一个源文件夹中创建一个名为“ images”的包。

使用

进行访问
ImageIO.read(YourMainClass.class.getClassLoader().getResource("images/imagename.png"));

({ImageIO.read只是一种使用您喜欢的图像来加载图像的方法的示例。) 如果您正确导出了应用程序,则应将图像放入广口瓶中,并且可以在任何设备上访问您的应用程序。