JFrame na obraz bez pokazywania JFrame

Próbuję renderować ramkę JFrame na obraz bez wyświetlania samej ramki JFrame (podobnie do tego, coto pytanie pyta). Próbowałem użyć tego fragmentu kodu:

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;
}

Jednak działa to tylko wtedy, gdyJFramejestsetVisible(true) jest ustawiony. Spowoduje to wyświetlenie obrazu na ekranie, czego nie chcę. Próbowałem też stworzyć coś takiego:

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);
    }
}

Wyświetla to jednak czarne obrazy (jak powyższy kod). Jestem całkiem pewien, że to, czego oczekuję, jest możliwe, problem polega na tym, że tak naprawdę nie mogę znaleźć. Moje doświadczenie z niestandardowymi komponentami Swing jest dość ograniczone, więc wszelkie informacje zostaną docenione.

Dzięki.

questionAnswers(2)

yourAnswerToTheQuestion