V tomto článku si naprogramujeme metodu, která nám vytvoří screenshot naší obrazovky. K sejmutí obrazu budeme využívát některých tříd a metod awt rozhraní. Naše metoda bude mít dva vstupní parametry. Oba parametry budou textové řetězce a první bude nést název souboru a druhý bude typ obrázku, tedy jpq, png, bmp a tak dále.
Než budeme tvořit metodu, tak importujeme důležité balíky tříd, které budeme potřebovat:
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
Zde je již samotná implementace této metody do jazyka Java:
public static void makeScreen(String nazev, String typ) {
Robot robot = null;
Toolkit kit = Toolkit.getDefaultToolkit();
Rectangle rozliseni = new Rectangle(new Dimension(kit.getScreenSize()));
try {
robot = new Robot();
} catch (AWTException vyjimka) {
System.err.println(vyjimka);
}
BufferedImage obr = robot.createScreenCapture(rozliseni);
try {
ImageIO.write(obr, typ, new File(nazev));
} catch (IOException vyjimka) {
System.err.println(vyjimka);
}
}
K sejmutí screenu potřebujeme instanci třídy Robot, která se nachází v balíku tříd awt. Potom musíme získat aktuální rozlišení plochy, to učiníme pomocí třídy Rectangle, které předáme instanci třídy Dimension. Screen načteme pomocí objektu třídy BufferedImage, kde právě využijeme instanci třídy Robot a aplikujeme na ní metodu createScreenCapture. Poté jen zapíšeme obrázek na disk pomocí statické metody write třídy ImageIO, kterou jsme improtovali pomocí příkazu - import javax.imageio.ImageIO;.
Požití této metody by pak mohlo vypadat tedy následovně:
public static void main(String[] args) {
makeScreen("javaScreenShot.jpg", "jpg");
}
A zde je důkaz :)

