Hallo zusammen,
ich arbeite im Moment daran, dass das Programm einen Screenshot des aktuellen fensters macht, dieses Bild soll dann als Datei gespeichert.
Das Speichern eines Bildes habe ich bereits hinbekommen aber nicht mit diesem speziellen Screenshot, ich komme offenbar nicht richtig an diesen heran, mein Code (teilweise per Google zusammen gesucht):
Hat vielleicht jemand eine Idee wie ich das bewerkstelligen kann?
ps: Wenn ich selbst "von Hand" einen Screenshot (mit der Drucktaste) mache, dann kommt keine Fehlermeldung, wenn ich vorher bspw. irgendein kopiere und die Methode dann ausführe kommt ein Fehler: java.awt.datatransfer.UnsupportedFlavorException: Image
Besten Dank im Voarus
ich arbeite im Moment daran, dass das Programm einen Screenshot des aktuellen fensters macht, dieses Bild soll dann als Datei gespeichert.
Das Speichern eines Bildes habe ich bereits hinbekommen aber nicht mit diesem speziellen Screenshot, ich komme offenbar nicht richtig an diesen heran, mein Code (teilweise per Google zusammen gesucht):
Java:
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
try {
Robot robot;
robot = new Robot();
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_PRINTSCREEN);
robot.keyRelease(KeyEvent.VK_PRINTSCREEN);
robot.keyRelease(KeyEvent.VK_ALT);
Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
Image image = (Image) t.getTransferData(DataFlavor.imageFlavor);
BufferedImage bi = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = bi.createGraphics();
g2d.drawImage(image, 0, 0, null);
g2d.dispose();
ImageIO.write(bi, "png", new File("iwas"));
} catch (UnsupportedFlavorException | AWTException | IOException e3) {
e3.printStackTrace();
JOptionPane.showMessageDialog(frame, "Ein Screenshot ist nicht möglich!", "Bearbeitungsfehler", JOptionPane.ERROR_MESSAGE);
}
Hat vielleicht jemand eine Idee wie ich das bewerkstelligen kann?
ps: Wenn ich selbst "von Hand" einen Screenshot (mit der Drucktaste) mache, dann kommt keine Fehlermeldung, wenn ich vorher bspw. irgendein kopiere und die Methode dann ausführe kommt ein Fehler: java.awt.datatransfer.UnsupportedFlavorException: Image
Besten Dank im Voarus