Bild aus einer nicht sichtbaren AWT-Komponente erstellen?

Ich versuche, ein Bild (Screenshot) einer nicht sichtbaren AWT-Komponente zu erstellen. Ich kann das @ nicht verwendRobotie Bildschirmaufnahmefunktion von @ classes, da die Komponente auf dem Bildschirm nicht sichtbar ist. Versucht, den folgenden Code zu verwenden:

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
component.paintAll(g);

Works funktioniert manchmal, aber nicht, wenn die Komponente Elemente wie ein Textfeld oder eine Schaltfläche oder eine OpenGL / 3D-Komponente enthält (diese Elemente werden nicht im Bild angezeigt!). Wie kann ich einen richtigen Screenshot des Ganzen machen?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage