Boa tarde galera, preciso fazer uma funcionalidade que tire um print ou salva uma imagem de alguma forma, inicialmente fiz um método que executa um print screen no botão que eu preciso e salva a imagem na aplicação, até ai beleza, meio caminho andado, o problema é que ele tira o print de todo o meu Desktop e preciso da imagem apenas de um tabview da aplicação em especifico, alguém poderia me ajudar?
public void screenshot() throws AWTException, IOException {
Robot robot = new Robot();
Dimension tamanho = Toolkit.getDefaultToolkit().getScreenSize();
tamanho.setSize(1450, 607);
Rectangle rectangle = new Rectangle(tamanho);
BufferedImage img = robot.createScreenCapture(rectangle);
File out = new File("teste.jpg");
ImageIO.write(img, "jpg", out);
} static {
System.setProperty("java.awt.headless", "false");
}
Minha Tab que preciso do print.
<p:tab title="Mapa" closable="false">
<p:gmap id="gmap"
center="#{trajetoController.latitudeInicial} , #{trajetoController.longitudeInicial}"
zoom="10" type="HYBRID" style="width:100%;height:600px"
model="#{trajetoController.rotaModel}">
</p:gmap>
</p:tab>