每次我将项目导出到eclipse中的* .jar时,我都会丢失项目中的所有图像(在Eclipse中)。我试图将图像直接放入* .jar中,但它可以在其他一些情况下使用,但不适用于此。
加载此图标的代码片段:
primaryStage.getIcons().add(new Image("file:icon.png"));
答案 0 :(得分:0)
使用jar中的文件,需要使用ZipInputStream
或JarInputStream
答案 1 :(得分:0)
您正在从工作目录加载图像,而不是jar本身。这就是它在开发中而不是在生产中工作的原因。如果您将图像移动到与jar所在的文件夹相同的文件夹,它应该可以工作,但我假设您希望图像包含在您的jar文件中。
将图像移动到其中一个包(任何包,只要它与jar捆绑在一起)。然后,您需要访问该图像,为此使用ClassLoader.getResourceAsStream(String)。看起来您正在使用javafx,因此您可以使用它来获取您的图片:primaryStage.getIcons().add(new Image(ClassLoader.getSystemResourceAsStream("the/path/to/your/image.png"));
。