Java - Obtenir une Image d'un Composite

Je suis en train d'écrire un programme dans lequel j'ai de la peinture sur un JPanel. Comment puis-je obtenir un Image de la JPanel qui est peint sur elle?
J'ai essayé ce code mais tout ce que j'obtiens est une image vide avec la couleur de Fond de mon JPanel.
Le BufferedImage ne contient pas de ce qui est peint sur mon panneau.

    private BufferedImage createImage(JPanel panel) {    
        int w = panel.getWidth();
        int h = panel.getHeight();
        BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
        Graphics2D g = bi.createGraphics();
        panel.paint(g);
        return bi;
    }

Ce que je fais mal?

Pensez à publier comment vous dessinez votre image. Utilisez-vous des graphiques.drawImage? Si oui, quelle est la ImageObserver argument?

OriginalL'auteur Christos Baziotis | 2012-06-19