我使用计算机中的图像对象编译了应用程序
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
答案 0 :(得分:1)
如果我正确理解了这个问题,则希望使用您定义的图像,然后在运行您的应用的任何计算机上使用这些图像。如果这是您要尝试的操作,我建议以下几点:
在您的一个源文件夹中创建一个名为“ images”的包。
使用
进行访问ImageIO.read(YourMainClass.class.getClassLoader().getResource("images/imagename.png"));
({ImageIO.read
只是一种使用您喜欢的图像来加载图像的方法的示例。)
如果您正确导出了应用程序,则应将图像放入广口瓶中,并且可以在任何设备上访问您的应用程序。