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

Java 如何在Netbeans的ImageView中显示图像?,java,mysql,image,netbeans,imageview,Java,Mysql,Image,Netbeans,Imageview,我有一个电影列表和关于它们的信息,保存在mysql数据库中。当我点击列表中的一部电影时,它会向我显示有关该电影的信息,但我很难加载每部电影的图像。数据库中的一列是“ImageName”。所有图像都保存在同一文件夹中,因此我尝试按如下方式加载它们: @FXML ImageView sl; ... String imgName = this.film.getImageName(); i = new Image("/movies/images/" + imgName); sl.setImage(i)

我有一个电影列表和关于它们的信息,保存在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/lotr

它在图像名称的字母之间打印三个空格,所以我假设这就是我的代码无法工作的原因,但我不知道如何修复这个问题

编辑: 以下是我如何选择图像并将名称指定给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);

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

给我们看看
imgName
被分配的代码…我编辑了这篇文章,我需要添加更多的代码吗?在我看来,那些“空格”好像是字符编码错误转换的结果。检查数据库连接中的字符集编码。我更改了排序规则,现在它可以工作了。非常感谢。给我们看看
imgName
被分配的代码…我编辑了这篇文章,我需要添加更多的代码吗?在我看来,那些“空格”好像是字符编码错误转换的结果。检查数据库连接中的字符集编码。我更改了排序规则,现在它可以工作了。非常感谢。