Hallo zusammen,
haut mich nicht, ich habe sehr wohl das Forum zuerst durchsucht! Ich würde gerne einen Screenshot einer vollständigen Anwendung machen. Ich habe bislang zwei Möglichkeiten versucht, beide funktionieren nicht:
1. mit Hilfe von java.awt.Robot.createScreenCapture(frame.getBounds());
Hierbei ist das Problem, dass ich die Anwendung weder mit toFront noch setAlwaysOnTop garantiert immer in den Vordergrund bekomme und somit (wenn auch nur manchmal) einen unvollständigen Bildschirmabdruck erhalte.
2. mit Hilfe von
Graphics g = bufferedImage.createGraphics();
frame.paint(g);
Hierbei ist das Problem, dass ich zwar immer einen sauberen Abdruck vom Frame erhalte, auch wenn er im Hintergrund ist, aber leider halt nur vom Frame selber und nicht von eventuell vorhandenen anderen Fenstern im Vordergrund (die zur Anwendung gehören). Auch paintAll hilft hier leider nicht weiter.
Hat vielleicht irgendjemand eine Idee, wie man einen Screenshot erstellen kann, der immer einwandfrei wird, auch wenn die Anwendung irgendwo im Hintergrund läuft?
Gruß,
AMiGA
haut mich nicht, ich habe sehr wohl das Forum zuerst durchsucht! Ich würde gerne einen Screenshot einer vollständigen Anwendung machen. Ich habe bislang zwei Möglichkeiten versucht, beide funktionieren nicht:
1. mit Hilfe von java.awt.Robot.createScreenCapture(frame.getBounds());
Hierbei ist das Problem, dass ich die Anwendung weder mit toFront noch setAlwaysOnTop garantiert immer in den Vordergrund bekomme und somit (wenn auch nur manchmal) einen unvollständigen Bildschirmabdruck erhalte.
2. mit Hilfe von
Graphics g = bufferedImage.createGraphics();
frame.paint(g);
Hierbei ist das Problem, dass ich zwar immer einen sauberen Abdruck vom Frame erhalte, auch wenn er im Hintergrund ist, aber leider halt nur vom Frame selber und nicht von eventuell vorhandenen anderen Fenstern im Vordergrund (die zur Anwendung gehören). Auch paintAll hilft hier leider nicht weiter.
Hat vielleicht irgendjemand eine Idee, wie man einen Screenshot erstellen kann, der immer einwandfrei wird, auch wenn die Anwendung irgendwo im Hintergrund läuft?
Gruß,
AMiGA