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

问题描述 投票:1回答:2

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

加载此图标的代码片段:

primaryStage.getIcons().add(new Image("file:icon.png"));
java javafx icons
2个回答
0
投票

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.