java - 图像在 JavaFx 中不显示

标签 java javafx

我想创建一个像 4 pics 1 word 这样的应用程序,但图像不显示。我也用过SceneBuilder。我在 SceneBuilder 中插入了图像,预览效果很好,但是当我运行主文件时,它没有显示。我尝试使用 Pane 并使用 .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>

最佳答案

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

file:Apple.jpg

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

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

关于java - 图像在 JavaFx 中不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42887470/

相关文章:

java - Java 中存在冲突作用域的变量声明。我读到的一段文字中这句话的含义是什么?

java - 奇怪的 TableView.itemsProperty 行为?

JavaFX : Gluon library with ANT or convert JavaFX-Ant project to JavafX-Gradle project

JavaFX 在 Swing 中的可用性

java - 将对象附加到二进制文件

java - 在 Java 正则表达式字符串中查找括号

java - 使用 ProGuard 进行混淆时,-keepattributes SourceFile,LineNumberTable 是否会使生成的 apk 更容易进行逆向工程?

Java 方法参数不适用

java - JavaFx 中的 UI 没有响应

java - 如何链接这两个鼠标事件? JavaFX