JPanel dPanel;
...
public void save()
{
BufferedImage bImg = new BufferedImage(dPanel.getWidth(), dPanel.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D cg = bImg.createGraphics();
dPanel.paintAll(cg);
try {
if (ImageIO.write(bImg, "png", new File("./output_image.png")))
{
System.out.println("-- saved");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}