我使用位于我的计算机中的图像对象编译了我的应用程序
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 文件,图像就不会显示,只是空帧。 :( 帮我对付这些家伙。谢谢
最佳答案
如果我正确理解了这个问题,您希望使用您定义的图像,然后在您的应用运行的任何计算机上使用这些图像。如果这就是您想要做的,我建议如下:
在源文件夹之一中创建一个名为“images”的包。
访问它
ImageIO.read(YourMainClass.class.getClassLoader().getResource("images/imagename.png"));
(ImageIO.read
只是加载图像的方法的示例,您可以使用任何您喜欢的内容。)
如果您正确导出应用程序,则图像应放入 jar 中,并且可以在任何设备上供您的应用程序访问。
关于java - 如何设置应用程序目录的对象路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54278410/