图像不显示在JavaFx中

时间:2017-03-19 14:00:06

标签: java javafx

我想创建一个像4个图片1个单词的应用,但图像不显示。我也使用了SceneBuilder。我在SceneBuilder中插入了图像并且预览很好,但是当我运行主文件时它没有显示。我尝试使用窗格并使用.getChildren()添加ImageView,但是我无法包含FXML文件。所以任何帮助将不胜感激,谢谢。

Screenshot of the program when I run the main file

Screenshot of the preview from SceneBuilder

public class Main extends Application {

@FXML
private ImageView apple;
//Window
@Override
public void start(Stage primaryStage) throws Exception{
    try
    {
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        Scene scene = new Scene(root, 546, 600);
        primaryStage.setTitle("4 Pics 1 Word");
        primaryStage.setResizable(false);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
    //Time display


}


public static void main(String[] args) {
    launch(args);
    }
}

编辑1 :ImageView的FXML代码:

<ImageView fx:id="apple" fitHeight="360.0" fitWidth="430.0" layoutX="53.0" layoutY="30.0" pickOnBounds="true">
     <image>
        <Image url="@../../Apple.jpg" />
     </image>
  </ImageView>

1 个答案:

答案 0 :(得分:0)

我发现要在fxml文件中显示JavaFX应用程序中的图片,您必须在图片名称前加file:并使用相对路径,例如:

  

文件:Apple.jpg

在SceneBuilder中“特定”ImageView部分的Image字段中。

这将在您的应用程序中显示图像,但会在SceneBuilder屏幕中将其替换为问号(图像未找到)。