JavaFX,导出到* .JAR后,标题栏上的图标无法显示

时间:2016-11-24 20:08:55

标签: java javafx icons

每次我将项目导出到eclipse中的* .jar时,我都会丢失项目中的所有图像(在Eclipse中)。我试图将图像直接放入* .jar中,但它可以在其他一些情况下使用,但不适用于此。

加载此图标的代码片段:

primaryStage.getIcons().add(new Image("file:icon.png"));

2 个答案:

答案 0 :(得分:0)

使用jar中的文件,需要使用ZipInputStreamJarInputStream

答案 1 :(得分:0)

您正在从工作目录加载图像,而不是jar本身。这就是它在开发中而不是在生产中工作的原因。如果您将图像移动到与jar所在的文件夹相同的文件夹,它应该可以工作,但我假设您希望图像包含在您的jar文件中。

将图像移动到其中一个包(任何包,只要它与jar捆绑在一起)。然后,您需要访问该图像,为此使用ClassLoader.getResourceAsStream(String)。看起来您正在使用javafx,因此您可以使用它来获取您的图片:primaryStage.getIcons().add(new Image(ClassLoader.getSystemResourceAsStream("the/path/to/your/image.png"));