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

标签 java javafx icons

每次我将项目导出到 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/

相关文章:

java - LDAP:如何返回超过 1000 个结果 (java)

JavaFX 从现有图像创建新图像

java - 如何使用相同的模型对象初始化 JavaFX Controller ?

android - 如何在右侧创建状态栏图标? (安卓)

java - 视网膜显示器上的 Swing 和位图

android - Cordova-CLI 和图标(不包括在内)

java - jQuery Validation 插件希望消息在文本框下对齐

java - 我无法让我的方法抛出自定义异常

java - Windows 10 上 JavaFx 应用程序的 JDK 8 更新 66 fatal error

java - 如何将带有 Controller 的 FXML 添加到 GridPane 中的每个单元格