Нарисуйте Java GUI компонент в файл изображения - PullRequest
3 голосов
/ 09 июня 2010

Допустим, у меня есть

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 Ответ

1 голос
/ 09 июня 2010

Изображение не пустое, оно содержит кнопку размером 0x0 при 0,0.

Решение: Вы должны добавить макет или установить размер кнопки вручную.

Примечание. Чтобы проверить это, сначала выполните рендеринг компонента (ов) на JFrame. Это позволяет быстро увидеть, что произойдет.

...