如何从 JLabel ImageIcon 获取绝对路径?

问题描述

我正在创建照片和视频查看器。已经制作了视频部分,现在我正在制作照片部分。

尝试获取绝对路径,例如:

image

然后它就删除了。 我正在使用 JLabel 进行显示。我试过的是:

System.out.println("Deleting file");

ImageIcon img = (ImageIcon) showdisplay.getIcon();
System.out.println(img.toString());

File file = new File(img.toString());
int response = JOptionPane.showConfirmDialog(this,"Are you sure you want to delete the file " + file.getName() + "?");
if(response == JOptionPane.YES_OPTION) {
    deleteFile(file);
    //the thing that deleteFile has is file.delete();
}

但这会在控制台中返回 javax.swing.ImageIcon@6aa93db7,而不是绝对路径

有人可以帮我吗?

解决方法

您可以为此使用 setDescription(...)getDescription(...) 方法。

根据您加载的图标,这可能已经包含文件路径。

如果没有,那么您可以在创建图像和创建图标时自己手动设置此值。