我在哪里存储图像,以便可执行的jar文件可以访问它们?

ram*_*231 3 java eclipse image executable-jar

我正在使用Eclipse制作我创建的游戏的可执行jar文件,但是当我创建jar并运行它时,游戏中的图像不再显示.我在哪里存储图像,以便jar文件可以访问它们?

Jon*_*eet 8

把它们放在罐子里,然后用Class.getResource,Class.getResourceAsStream,ClassLoader.getResourceClassLoader.getResourceAsStream访问它们.哪个最合适取决于你正在做什么,但你可能想要这样的东西:

Image image = new Image(Program.class.getResource("/images/foo.jpg"));
Run Code Online (Sandbox Code Playgroud)

...这里Program.class任何同一个jar文件中的类.或者,如果您将图像存储在与类相同的文件夹中(当您部署时),您可以使用:

Image image = new Image(GameCharacter.class.getResource("knight.jpg"));
Run Code Online (Sandbox Code Playgroud)

这是一个相对资源名称.(相对于有问题的班级.)