我有一个包含许多ImageView节点的网格窗格。单击ImageView时,我想删除图像。
int[] array = {3,2,0,5,3};
String x = "";
for(int i = 0;i<=array.length-1;i++){
x = x + String.valueOf(array[i]);
}
System.out.println(Integer.parseInt(x));
在一次行动中,我做了:
ImageView image = new ImageView("https://www.google.co.in/images/nav_logo242.png");
但是,我仍然看到旧图像。
image.setImage(null);
System.gc();
答案 0 :(得分:4)
这应该有效:
image.setImage(null);
发布您的整个代码以检查错误。
答案 1 :(得分:0)
gridPane.getChildren().remove(image);
答案 2 :(得分:0)
我遇到了同样的问题
image.setCache(false);
答案 3 :(得分:0)
如果您要删除多个节点或 imageViews 创建一个相同类型的列表,然后将它们添加到列表中,当您要删除它们时,只需通过 FOR 删除按位置查看图像。
列表声明。
ArrayList<ImageView> listaImageView2 = new ArrayList<>();
实施以消除每次消除。
for (int i = 0; i < listaImageView2.size(); i++) {
listaImageView2.get(i).imageProperty().set(null);
}
答案 4 :(得分:-1)
使用
ImageView.imageProperty().set(null);
这对我来说非常有用
答案 5 :(得分:-1)
您只需将当前图像替换为宽度和高度为1 px的空白图像
image.setImage(new Image("path to your empty image"));