java如何将字符串转换为图标来执行setIcon

标签 java string path

我正在尝试将字符串 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 LabelsReading/Loading an Image了解更多详情

仅供引用:C:/Users/Aron/Desktop/220i.jpg 仅与您当前的上下文相关。如果您将程序移至另一台计算机,则该镜像将不再存在。您最好将图像作为嵌入资源包含在结果应用程序 jar 中,或者作为相对于您的应用程序存储的图像。

关于java如何将字符串转换为图标来执行setIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946387/

相关文章:

assembly - Windows : "undefined reference to ` print_string'"中的 NASM 汇编程序错误

api - 如何加载带有路径(折线)的静态谷歌地图?

java - -Djava.library.path 没有链接 .so 库

java - 不要使用 jdbc 和 jsp 在 mysql 中插入数据

java - 如何为 SFTP (Java) 创建帐户或用户?

python - 根据列表过滤要删除的 pandas 数据框

java - string.intern 没有使用更少的内存

path - Hive IllegalStateException 输入路径不明确

Java 枚举集自定义序数

C#修复语句