将List <bufferedimage>转换为Image </bufferedimage>

时间:2014-02-27 07:05:46

标签: java image user-interface bufferedimage

我有以下.ico图像,使用image4j库读取:

List<BufferedImage> BI = ICODecoder.read("aImage.ico");

接下来我想将此图像设置为框架图标:

myFrame.setIconImage((Image)BI);

错误:java.lang.ClassCastException

我需要转换类型List&lt; \ BufferedImage&gt;到图像类型。任何帮助将不胜感激。

2 个答案:

答案 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)以返回图片。