Converter um JPanel em uma imagem em um JScrollPane
Eu quero converter um JPanel em uma imagem. Eu usei o seguinte método:
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;
}
Mas o problema é que o JPanel está contido em um JScrollPane. Então, quando eu converto o jpanel em uma imagem, a imagem contém apenas as partes visíveis no jpanel e as partes que estão escondidas dentro do scrollpane não estão contidas na imagem.
Existe alguma solução para obter todo o conteúdo do JPanel em uma imagem?