图像未显示在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);