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

Nit*_*rma 0 java swing image jlabel imageicon

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

ImageIcon icon = new ImageIcon(barcode.drawBarcode());
jLabel36.setIcon(icon);
Run Code Online (Sandbox Code Playgroud)

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

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

任何人都可以建议我如何实现此任务既包括类型转换和保存图像.

Baz*_*Baz 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();
}
Run Code Online (Sandbox Code Playgroud)