将图标保存在jLabel上作为硬盘上的图像

时间:2012-10-12 07:46:46

标签: java image swing jlabel imageicon

我的代码中生成了一个图像图标,我将其作为图标放在标签上,按照以下代码:

ImageIcon icon = new ImageIcon(barcode.drawBarcode());
jLabel36.setIcon(icon);

现在我的问题是如何将ImageIcon类型更改为Image并将其保存在硬盘上。当我尝试将ImageIcon类型转换为Image时,会出现以下错误:

  

java.lang.ClassCastException:javax.swing.ImageIcon无法强制转换为java.awt.Image

任何人都可以建议我如何实现此任务,无论是输入还是保存图像。

1 个答案:

答案 0 :(得分:6)

只需使用getImage()

// get image from imageicon
Image image = icon.getImage();

// cast it to bufferedimage
BufferedImage buffered = (BufferedImage) image;

try {
    // save to file
    File outputfile = new File("saved.png");
    ImageIO.write(buffered, "png", outputfile);
} catch (IOException e) {
    e.printStackTrace();
}