Konvertieren Sie ein JPanel in ein Bild in einem JScrollPane

Ich möchte ein JPanel in ein Bild konvertieren. Ich habe die folgende Methode angewendet:

public BufferedImage createImage(){

    int w = getWidth();
    int h = getHeight();
    BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    Graphics2D g = bi.createGraphics();
    paint(g);
    return bi;
}

Das Problem ist jedoch, dass das JPanel in einem JScrollPane enthalten ist. Wenn ich das Jpanel in ein Bild konvertiere, enthält das Bild nur die Teile, die im Jpanel sichtbar sind, und die Teile, die innerhalb des Bildlauffensters verborgen sind, sind nicht im Bild enthalten.

Gibt es irgendwelche Lösungen, um den gesamten Inhalt des JPanel in ein Image zu bringen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage