我正在尝试将字符串 spath
放入 setIcon
中。
路径已经保存为字符串,它看起来像C:\Users\Aron\Desktop\220i.jpg
然后我尝试使用此字符串路径 setIcon
imagelabel.setIcon(spath)
显示字符串无法转换为图标。我应该做什么来解决这个问题。
问题是它需要使用已存储在字符串中的现有路径。我该怎么办?
最佳答案
您需要先加载图像...
BufferedImage img = ImageIO.read(new File("C:/Users/Aron/Desktop/220i.jpg"));
nb:ImageIO.read
抛出IOException
,这是非常有意的,因为它比其他图像加载方法提供了更好的管理
然后您需要将其包装在 ImageIcon
类中...
ImageIcon icon = new ImageIcon(img);
然后您可以将其传递给 setIcon
...
imagelabel.setIcon(icon);
看看How to Use Labels和 Reading/Loading an Image了解更多详情
仅供引用:C:/Users/Aron/Desktop/220i.jpg
仅与您当前的上下文相关。如果您将程序移至另一台计算机,则该镜像将不再存在。您最好将图像作为嵌入资源包含在结果应用程序 jar 中,或者作为相对于您的应用程序存储的图像。
关于java如何将字符串转换为图标来执行setIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946387/