Как сделать скриншот окна в java?

Пользователь

от brenna , в категории: Java , год назад

Как сделать скриншот окна в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от yasmine , 10 месяцев назад

@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.