Bild einer Komponente...

Crai

Mitglied
Hallo,

ich möchte ein "Bild" einer Textpane machen, das gelingt mir schon ganz gut, aber nur, wenn diese Komponente sichtbar ist.
Sobald aber die Komponente teilweise oder ganz überdeckt wird, etwa von einem andrem Fenster,... dann erstellt er zwar auch ein Bild,auf diesem is aber dann auch ein Teil des überlappenden Fensters etwa zu sehen.
Beispiel: Mein textpane wird zur Hälfte von einer andren Anwendung verdeckt. Wird nun ein Bild der textPane erstellt ist darauf dann die eine Hälfte der textPane und auf der andren Hälfte ein Ausschnitt dieses Fensters zu sehen.

Wie kann ich anders ein Bild meiner Pane bekommen? Könnt ich sie irgendwie in nem Buffer,oder im Hintergrund neu Zeichnen lassen und dann mir ein Bild davon holen?
Wenn jemand eine Idee oder vielleicht sogar einen konkreteren Vorschlag hat, würd mich sehr freuen! :)
Vielen Dank schon mal,
CU
FIBI
 
Hallo,

Du kannst einfach die print()-Methode von Deiner TextPane dafür verwenden:
Code:
try {
   Dimension size = textPane.getSize();
   BufferedImage img = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_RGB);
   textPane.print(img.getGraphics());
   
   ImageIO.write(img, "jpg", new File("C:/image.jpg") );
} catch (Exception ex) {
   ex.printStackTrace();
}
Das funktioniert auch dann, wenn die TextPane unsichtbar ist.

Gruß
Vincent
 
Zurück