如何在Netbeans中的ImageView中显示图像?

时间:2017-08-13 16:47:37

标签: java mysql image netbeans imageview

我有一个电影列表和有关它们的信息保存在mysql数据库中。当我点击列表中的电影时,它会显示有关电影的信息,但是我无法为每部电影加载图像。数据库中的一列是“ImageName”。所有图像都保存在同一个文件夹中,所以我试图像这样加载它们:

@FXML
ImageView sl;
...
String imgName = this.film.getImageName();
i = new Image("/movies/images/" + imgName); 
sl.setImage(i)

它不起作用,但是当我尝试加载这样的特定图像时,它可以工作:

i = new Image("/movies/images/Lotr.jpg");

我已尝试打印图像路径以查看问题所在:

String msg = ("/movies/images/" + imgName);
System.out.print(msg);

结果:/movies/images/ L o t r

它在图像名称的字母之间打印了三个空格,所以我假设这就是为什么我的代码不起作用,但我不知道如何解决这个问题。

编辑: 以下是我选择图像并将名称指定给imageName的方法:

FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Select Image File");
fileChooser.getExtensionFilters().addAll( new FileChooser.ExtensionFilter("Image Files",
                        "*.bmp", "*.png", "*.jpg", "*.gif")); 
File selectedFile = fileChooser.showOpenDialog(null);
filePath = selectedFile.getAbsolutePath();
File sourceFile = new File(filePath);

File destinationFile = new File("C:\\Users\\t\\Documents\\NetBeansProjects\\Movies\\src\\movies\\images\\" + sourceFile.getName());
imageName = sourceFile.getName();
copyFile(sourceFile, destinationFile);

顺便说一句,图像的名称在数据库中看起来是正确的。

0 个答案:

没有答案