JFrame para imagem sem mostrar o JFrame

Eu estou tentando renderizar um JFrame para uma imagem sem exibir o próprio JFrame (similar ao queisto pergunta é perguntar). Eu tentei usar este pedaço de código:

private static BufferedImage getScreenShot(Component component)
{
    BufferedImage image = new BufferedImage(component.getWidth(), component.getHeight(), BufferedImage.TYPE_INT_RGB);
    // call the Component's paint method, using
    // the Graphics object of the image.
    component.paint(image.getGraphics());
    return image;
}

No entanto, isso só funciona quando oJFrame'ssetVisible(true) está definido. Isso fará com que a imagem seja exibida na tela, o que não é algo que eu quero. Eu também tentei criar algo assim:

public class MyFrame extends JFrame
{
    private BufferedImage bi;

    public MyFrame(String name, BufferedImage bi)
    { 
         this.bi = bi;
         super(name);
    }

    @Override
    public void paint(Graphics g)
    {
         g.drawImage(this.bufferedImage, 0, 0, null);
    }
}

No entanto, isso exibe imagens em preto (como o código acima). Tenho certeza de que o que estou procurando é possível, o problema é que não consigo encontrar como. Minha experiência com componentes Swing personalizados é bastante limitada, portanto, qualquer informação será apreciada.

Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion