首页 > 解决方案 > 如何从 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();
}

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

有人可以在这里帮助我吗?

标签: javaswingimageicon

解决方案


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

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

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


推荐阅读