Java — получение изображения JPanel

Я пишу программу, в которой я рисую на JPanel. Как получить изображениепанели JPanel, которое на ней нарисовано? Я пробовал этот код, но все, что я получаю, это пустое изображение с цветом фона моего JPanel. BufferedImageне содержит того, что нарисовано на моей панели.

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

Что я делаю не так?

5
задан Boro 19 June 2012 в 18:21
поделиться