将java GUI组件绘制到图像文件

时间:2010-06-09 11:15:38

标签: java paint image-file

假设我有

JButton test = new JButton("Test Button");

我想将按钮绘制到图像对象中并将其保存到文件中。

我试过了:

BufferedImage b = new BufferedImage(500, 500, BufferedImage.TYPE_INT_ARGB);
test.paint(b.createGraphics());

File output = new File("C:\\screenie.png");

try
{
    ImageIO.write(b, "png", output);
}
catch (IOException e)
{
    // TODO Auto-generated catch block
    e.printStackTrace();
}

此代码生成一个空的500x500 PNG文件。有谁知道如何将GUI组件绘制到图像文件中?

1 个答案:

答案 0 :(得分:1)

图像不为空,它包含一个大小为0x0的按钮,位于0,0。

解决方案:您必须手动添加布局或设置按钮的大小。

注意:要测试它,首先在JFrame上渲染组件。这可以让你快速了解会发生什么。