我想创建一个像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>
答案 0 :(得分:0)
我发现要在fxml文件中显示JavaFX应用程序中的图片,您必须在图片名称前加file:
并使用相对路径,例如:
文件:Apple.jpg
在SceneBuilder中“特定”ImageView部分的Image字段中。
这将在您的应用程序中显示图像,但会在SceneBuilder屏幕中将其替换为问号(图像未找到)。