这与JavaFX有关:我有一个“产品”窗口,其中包含一个填充有产品列表的TableView,一些按钮(编辑,删除,添加,搜索)和一个包含当前所选产品图片的ImageView(此图片点击正确更改)。
单击“编辑”按钮将打开一个新窗口,在该窗口中,我可以更改产品的图像文件,并将新图片正确保存到文件系统(此处请注意:新图像将覆盖旧图像,即图像路径/文件名保持不变)。
当我关闭“编辑”窗口时,通过执行以下操作来清洁ImageView控件中的图片:
imageView.setImage(null);
然后设置“新”图像:
imageView.setImage(new Image(path));
将图像设置为null会有效删除旧图像,但是,在设置新图像后,imageView容器将继续显示“旧图像”。是否有任何需要清洗的茶饼?即使文件名相同,我如何“告诉” ImageView容器图像已更改?
感谢您的帮助,对不起我的英语不好。
答案 0 :(得分:0)
两周后,我终于找到了解决方法:
不再使用imageView.setImage(new Image(path));
加载图像,而是使用以下命令加载图像:
File img = new File(pathObtainedFromDatabase);
InputStream isImage = (InputStream) new FileInputStream(img);
imageView.setImage(new Image(isImage));
感谢所有尝试提供帮助的人。