图像未显示在ImageView中:JavaFX

图像未显示在ImageView中:JavaFX,javafx,Javafx,下面是我用来同时查看图像和标题文本的代码: try { Scanner scanner = new Scanner( new File("data.txt") ); String text = scanner.useDelimiter("ENDOFFILE").next(); scanner.close()

下面是我用来同时查看图像和标题文本的代码:

    try
                    {
                        Scanner scanner = new Scanner( new File("data.txt") );
                        String text = scanner.useDelimiter("ENDOFFILE").next();
                        scanner.close(); // Put this call in a finally block
                        System.out.println(text);
                        String[] data = text.split("\n");
                        for(int i=0;i<data.length;i++)
                        {
                            if(i%2==0)
                            {
                                System.out.println("This is "+data[i]);
                                Image img = new Image(new File(data[i]).toURI().toString(), 100, 0, false, false);
                                ImageView selectedImage = new ImageView();   
                                selectedImage.setImage(img);
                                v.getChildren().addAll(selectedImage);
                            }
                            else
                            {
                                Text t = new Text(data[i]);
                                t.setFont(Font.font("Tahoma", FontWeight.NORMAL, 14));
                                v.getChildren().add(t);
                            }
                        }
                    }
                    catch(Exception E)
                    {
                        E.printStackTrace();
                    }
                    root2.getChildren().add(v);
                    Scene scene = new Scene(root2, 1000, 1000);
                    stage.setScene(scene);
                    stage.show();
}

为什么不显示图像而只显示文本?

我认为您只需要将文件名和文件夹名连接到字符串的开头

Image image = new Image("file:FOLDER_NAME/imageName.gif");
ImageView imageView = new ImageView();
imageView.setImage(image);

imageView.setFitWidth(100);
imageView.setPreserveRatio(true);
imageView.setSmooth(true);
新建文件(…)
将解析与工作目录相关的文件,您对工作目录几乎没有控制权。(大多数IDE都会将工作目录设置为项目目录,尽管它是可配置的,显然,在部署和运行应用程序时,工作目录可能会有所不同)。如果这些文件是应用程序的一部分(即,它们将与jar文件捆绑在一起),则应通过类加载器将它们作为资源加载。(对于
data.txt
文件也是如此。)您始终可以打印出创建的URL以查看它试图加载的内容。
Image image = new Image("file:FOLDER_NAME/imageName.gif");
ImageView imageView = new ImageView();
imageView.setImage(image);

imageView.setFitWidth(100);
imageView.setPreserveRatio(true);
imageView.setSmooth(true);