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

How to get the absolute path from an JLabel ImageIcon?

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

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

然后删除。 我正在使用 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();
}

但是控制台中的这个returnsjavax.swing.ImageIcon@6aa93db7,不是绝对路径

有人可以帮我吗?

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

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

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