@brenna
В Java можно использовать класс Robot
для создания скриншотов экрана или окон. Чтобы создать скриншот только одного окна, вы можете использовать метод createScreenCapture
класса Robot
в сочетании с методом getBounds
класса java.awt.Window
, чтобы получить границы окна.
Например, вот код, который делает скриншот текущего окна и сохраняет его в файл:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import java.awt.AWTException; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.Window; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class WindowScreenshot { public static void main(String[] args) throws AWTException, IOException { // Получаем текущее окно Window currentWindow = javax.swing.FocusManager.getCurrentManager().getActiveWindow(); // Создаем экземпляр класса Robot Robot robot = new Robot(); // Получаем границы окна Rectangle bounds = currentWindow.getBounds(); // Создаем скриншот окна BufferedImage screenshot = robot.createScreenCapture(bounds); // Сохраняем скриншот в файл File file = new File("screenshot.png"); ImageIO.write(screenshot, "png", file); } } |
Этот код сохраняет скриншот окна в файл с именем "screenshot.png". Если вы хотите сохранить скриншот в другой формат или в другое место, вы можете изменить параметры метода ImageIO.write
.