Ciao ragazzi girando su internet ho trovato questa classe
codice:
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.awt.Dimension;
import java.awt.*;
import javax.imageio.ImageIO;
public class RobotExp {
public static void main(String[] args) {
try {
Robot robot = new Robot();
// Capture the screen shot of the area of the screen defined by the rectangle
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
BufferedImage bi=robot.createScreenCapture(new Rectangle(800,800));
ImageIO.write(bi, "jpg", new File("graphics1.jpg"));
} catch (AWTException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Vorrei che al posto di fare lo screenshot dell'intero Desktop, facesse lo screenshot di un JFrame è possibile? Ci ho provato in diversi modi ma mi sono dannato senza risultati.
Credo che la parte da modificare sia:
codice:
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
O sbaglio? Ma come faccio a passargli il JPANEL piuttosto che lo screensize?