将JPanel转换为png或其他图像文件

时间:2011-06-08 19:06:35

标签: java image swing jpanel

我有一个由很多JLabel组成的JPanel。因此,根本没有油漆,只有具有不同背景颜色的JLabel等。 JPanel是可见的。

如何将此JPanel转换为图像文件?图像文件将是JPanel的图片,与屏幕上显示的完全一致。

(理想情况下,程序会创建一个.png,并将其保存到程序所在的同一文件夹中,或者甚至保存到用户选择的其他文件夹中。)

任何建议都将不胜感激。谢谢!

----这是Cherie,未注册,所以我无法回到我的帐户中选择stas的答案作为答案。这就是为什么我不回复...无论如何,谢谢你的帮助。切丽

3 个答案:

答案 0 :(得分:4)

Screen Image将选择创建图片的最佳方式。

BufferedImage bi = ScreenImage.createImage(panel);
ScreenImage.writeImage(bi, "panel.png");

答案 1 :(得分:3)

像这样:

BufferedImage image = new Robot().createScreenCapture(new Rectangle(panel.getLocationOnScreen().x, panel.getLocationOnScreen().y, panel.getWidth(), panel.getHeight()));
ImageIO.write(image, "png", file);

您可以创建如下文件:

File file = new File("fileName.png");
if (!file.exists())file.createNewFile();

如果我回答你的问题,请选择我的答案:)

答案 2 :(得分:2)

java.awt.Robot类可以进行屏幕转储,然后您可以将其放在需要的位置以供日后使用。