Originariamente inviato da Snake17x
Quindi devo fare questo?

codice:
Al posto di:
Dimension screen = 	Toolkit.getDefaultToolkit().getScreenSize();

Devo mettere
Dimension screen = 	NomeClasseContenenteilJfrane().getBounds();
Perchè il
codice:
BufferedImage bi=robot.createScreenCapture(new Rectangle(300,300));
Credo stabilisca la dimensione dello screenshot.
getBounds restituisce Rectangle, non Dimension, sta scritto nella documentazione... del resto se devi determinare un rettangolo sono necessari 4 numeri (coordinate, altezza e larghezza), il Dimension contiene solo due valori.
Se istanzi un Rectangle passandogli solo due numeri (e anche qui bastava guardare la documentazione), li tratta come altezza e larghezza, e considera le coordinate del punto da cui partire come la coppia (0, 0).

A createScreenCapture devi passare il Rectangle restituito da getBounds.