3

假设我有

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 组件绘制到图像文件中?

4

1 回答 1

1

图像不是空的,它在 0,0 处包含一个大小为 0x0 的按钮。

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

注意:要测试它,首先在 JFrame 上渲染组件。这使您可以快速查看会发生什么。

于 2010-06-09T11:48:08.240 回答