Originariamente inviato da Snake17x
Ti ringrazio, però se utilizzo:

codice:
BufferedImage bi=robot.createScreenCapture(new Rectangle(getBounds()));
Mi da errore di compilazione, forse perchè è una classe esterna a quella in cui è dichiarato il setBounds?
getBounds va invocato sul componente del quale vuoi ottenere, per l'appunto, coordinate e dimensioni. E restituisce già un Rectangle.

Ovvio che dia errore di compilazione, a meno che non ti trovi in una classe che estenda Component, perché se scrivi solamente il metodo così lui lo cerca nella classe in cui si trova quella riga di codice... del resto, in quel modo come fa a sapere DI COSA deve prendere le dimensioni?

codice:
BufferedImage image =
  new Robot().createScreenCapture(component.getBounds());
P.S.: il codice non l'ho provato.