BufferedImage createScreenCapture(Rectangle rect)This method takes java.awt.Rectangle as parameter. You can use any of the seven constructors of this class to create it's object, however i don't recommend the first one which just creates a Rectangle object that is invisible when used to capture the screen. All the constructors do the same thing, their parameters differ instead. For brevity and ease, in this post i will be using the third constructor which takes 4 integer values which represent the x, y, width, height respectively. The returned
java.awt.image.BufferedImage object is returned. This is used to write the image to a file. Here is the example. import java.util.*;
 import java.awt.*;
 import java.awt.image.*;
 import javax.imageio.*;
 import java.io.*;
 class ScreenCapture
 {
  public static void main(String args[]) throws Exception
  {
   // Throws AWTException
   Robot rb=new Robot();
   
   Scanner s=new Scanner(System.in);
   System.out.println("Enter the x,y,width,height of capture");
   int x=s.nextInt();
   int y=s.nextInt();
   
   int width=s.nextInt();
   int height=s.nextInt();
   
   String file=s.next();
   
   // Get the BufferedImage object for writing to a fiel
   BufferedImage bim=rb.createScreenCapture(new Rectangle(x,y,width,height));
   
   /* Throws IOException
   * Write in PNG format. You can choose whatever format you want.
   * Write the image.
   * If you know the extension of the format.
   * Write to a file specified
   */
   ImageIO.write(bim,"PNG",new File(file));
  }
 }
