java - 如何从 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,而不是绝对路径。
有人可以在这里帮助我吗?
解决方案
您可以为此使用setDescription(...)
和getDescription(...)
方法。
根据您加载的图标,这可能已经包含文件路径。
如果没有,那么您可以在创建图像和创建图标时自己手动设置此值。
推荐阅读
- sql - 将日期范围拆分为不同的会计年度
- javascript - 在 HTML/CSS 中分层 PNG?
- javascript - 在javascript中使用图像填充画布
- typescript - 升级 Typescript 版本:继承问题:属性
在类型 不能分配给基类型中的相同属性 - python - 测试输入输入的非整数时如何修复非整数错误
- c# - 使用事务和 DbUpdateConcurrencyException 时发生重复行插入
- reactjs - react 如何决定何时刷新所有批量更新?
- java - 部署到 Jboss 7.1.0 EAP 时未指定持久性单元名称错误
- javascript - 加载资源后 React JS 显示组件
- python - 使用 Python 解析大型 .csv 文件行