每次我将项目导出到 Eclipse 中的 *.jar 时,我都会丢失项目中的所有图像(在 Eclipse 中)。我尝试过将图像直接放入 *.jar 中,它在其他一些情况下有效,但在这种情况下不起作用。
加载此图标的代码片段:
primaryStage.getIcons().add(new Image("file:icon.png"));
最佳答案
您正在从工作目录加载图像,而不是 jar 本身。这就是为什么它在开发中起作用,而不是在生产中起作用。如果您将图像移动到 jar 所在的同一文件夹中,它应该可以工作,但我假设您希望图像包含在 jar 文件中。
将图像移动到您的一个包(任何包,只要它与 jar 捆绑在一起)。然后你需要访问图像,使用ClassLoader.getResourceAsStream(String)为了这。看起来您正在使用 javafx,因此您可以使用它来获取图像:primaryStage.getIcons().add(new Image(ClassLoader.getSystemResourceAsStream("the/path/to/your/image.png"));
。
关于JavaFX,导出到 *.JAR 后无法在标题栏上显示图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40793883/