我有以下.ico图像,使用image4j库读取:
List<BufferedImage> BI = ICODecoder.read("aImage.ico");
接下来我想将此图像设置为框架图标:
myFrame.setIconImage((Image)BI);
错误:java.lang.ClassCastException
我需要转换类型List&lt; \ BufferedImage&gt;到图像类型。任何帮助将不胜感激。
答案 0 :(得分:3)
你可以考虑使用......
myFrame.setIconImage(BI.get(0));
List
是一个内容列表(或者在技术上Object
,在您的情况下,BufferedImage
s),其中setIconImage
只需要一个...
或者,您可以利用JFrame
使用...提供不同分辨率的多个不同图像的功能。
myFrame.setIconImages(BI);
这可能是你在第一时间所追求的......
答案 1 :(得分:0)
在此代码中
List<BufferedImage> BI = ICODecoder.read("aImage.ico");
您正在加载List
所以当你尝试myFrame.setIconImage((Image)BI);
时,你将无法将列表转换为图像。
在列表上尝试.get(0)
以返回图片。