【发布时间】:2019-07-09 17:17:30
【问题描述】:
我有一个小型 JavaFX 应用程序。一切看起来都很好,并且工作正常。突然想把这个项目转成 Maven 项目(我想添加一些外部依赖并在应用中使用)。
在 Eclipse 中,我右键单击该项目,选择Configure,然后选择Convert to Maven project...。一切都很顺利,直到我构建并运行了应用程序。整个应用程序运行良好,但应用程序窗口中有一个徽标,并且在将项目转换为 Maven 后 - 图像消失了。
我正在使用带有 FXML 和 SceneBuilder 的 JavaFX。
在RootLayout.fxml文件中,有一个条目:
<ImageView fitHeight="150.0" fitWidth="200.0" layoutX="225.0" layoutY="50.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../../../../../resources/images/nbtc.jpg" />
</image>
</ImageView>
转换为 Maven 后在SceneBuilder 中仍可见,但运行后已从应用中消失。
这是文件夹结构:
有趣的是,programicon32.png 工作正常并且显示在应用程序中。但它是在 FXML 文件之外的另一个地方定义的:
@Override
public void start(Stage primaryStage) {
...
this.primaryStage.getIcons().add(new Image("file:resources/images/programicon32.png"));
initRootLayout();
...
}
编辑:
我已将图像移动到 RootLayout.fxml 所在的同一包中,并在 SceneBuilder 中选择了移动的图像,图像现在正在显示,但是,这不是我的机器人正在寻找...
【问题讨论】:
-
This answer 可能会有所帮助。