我的jar文件没有加载我通过场景构建器添加的图像。 (JavaFX的)

时间:2016-12-16 17:08:50

标签: java javafx jar fxml scenebuilder

所以问题如下:

我创建了一个FXML文件并使用JAVA SCENE BUILDER对其进行了编辑。

在场景构建器上,我添加了一个图像视图并设置了文件的路径

scene builder path

fxml文件中的代码是:

<ImageView fitHeight="285.0" fitWidth="301.0" layoutX="94.0" layoutY="94.0" opacity="0.26" pickOnBounds="true" preserveRatio="true">
     <image>
        <Image url="@../../src/view/images/mainpic.png" />
     </image>
  </ImageView>

现在我有一个加载FXML文件的主类。 并且图像在src文件中。

pic相关:

tree of files

当我从eclipse运行main时,图片被正确加载。 但是当我创建一个jar文件时,图像没有被加载。

问题是: 如何获取jar文件以获取fxml文件中指定的图像?

也是主要代码:

    URL url = getClass().getResource("/view/mainMenuView.fxml");
 AnchorPane pane = FXMLLoader.load( url );
 StackPane p = new StackPane();
 p.getChildren().add(pane);
 StackPane.setAlignment(pane,Pos.CENTER);
 Scene scene = new Scene( p);
 // setting the stage
 primaryStage.setScene( scene );
 primaryStage.show();

1 个答案:

答案 0 :(得分:0)

感谢fabian回答正确的问题。 实现与fabian相同的事情,答案是

@images/mainpic.png

是图片的正确途径。