BufferedImage buf = new BufferedImage(500,//this.getContentPane().getPreferredSize().width,
                                              500,//this.getContentPane().getPreferredSize().height,
                                              BufferedImage.TYPE_INT_RGB);
        Graphics gc = buf.createGraphics();
        this.paint(gc);
        try {
            java.io.FileOutputStream out = new java.io.FileOutputStream("C:\\applet.jpeg");
            javax.imageio.ImageIO.write(buf, "jpeg", out);
        }
        catch (Exception e) {
            e.printStackTrace();
        }