Screen Capture in Java erfasst nicht den gesamten Bildschirm

Ich habe einen kleinen Code, den ich verwende, um die Zeit im Auge zu behalten - ganz einfach, alle vier Minuten wird ein Bild von meinem Desktop erstellt, damit ich später noch einmal darüber nachdenken kann, was ich tagsüber gemacht habe , außer wenn ich eine Verbindung zu einem externen Monitor herstelle - dieser Code erstellt nur einen Screenshot meines Laptop-Bildschirms, nicht des größeren externen Monitors, von dem aus ich arbeite - irgendwelche Ideen, wie ich den Code ändern kann? Ich verwende OSX, falls dies relevant ist ...

<code>import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;

class ScreenCapture {
    public static void main(String args[]) throws
        AWTException, IOException {
            // capture the whole screen
int i=1000;
            while(true){
i++; 
                BufferedImage screencapture = new Robot().createScreenCapture(
                        new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );

                // Save as JPEG
                File file = new File("screencapture"+i+".jpg");
                ImageIO.write(screencapture, "jpg", file);
try{
Thread.sleep(60*4*1000);
}
catch(Exception e){
e.printStackTrace();
}

            }
        }
}
</code>

Nach der gegebenen Lösung habe ich einige Verbesserungen vorgenommen, und der Code wird für interessierte Benutzer unter der folgenden Adresse überprüfthttps://codereview.stackexchange.com/questions/10783/java-screengrab

Antworten auf die Frage(2)

Ihre Antwort auf die Frage