final Dimension d = myView.getSize();
final BufferedImage i = new BufferedImage(d.width, d.height, BufferedImage.TYPE_INT_ARGB);
final Graphics2D g = i.createGraphics();
g.setClip(0, 0, d.width, d.height);
myView.paint(g);
g.dispose();
try {
ImageIO.write(i, "png", new File(filename));