Доброго времени суток. В прошлой статье мы уже рассматривали класс JAVA Robot. В этой статье, мы будем создавать скриншот и выводить его в новом окне при помощи класса Robot.
И так, приступим:
package myrobot; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.*; import java.awt.image.BufferedImage; import javax.swing.*; class myFrame extends JFrame { private Robot robot; public myFrame() { setTitle("iRobot"); // имя заголовка нашего окна JPanel panel = new JPanel(); // создаем контейнер GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice screen=env.getDefaultScreenDevice(); // GraphicsDevice класс описывает графические устройства, которые могут быть доступны в определенной среде графики. try { robot=new Robot(screen); } catch (AWTException ex) { } JButton bt1 = new JButton("Screen"); // создаем кнопку panel.add(bt1); // добавляем нашу кнопку на панель bt1.addActionListener(new ActionListener() { // добавляем обработчик на нашу кнопку public void actionPerformed(ActionEvent e) { BufferedImage image = robot.createScreenCapture(new Rectangle(0,0,600,600)); //именно это метод createScreenCapture у класса Robot позволяет нам получить часть изображения ImageFrame frame = new ImageFrame(image); // вызываем наш класс, который создает форму для нашего изображение frame.show(); } }); Container pane = getContentPane(); // создаем контейнер pane.add(panel); // добавляем нашу панель в контейнер pack(); // задает размер нашему фрейму исходя из размеров нашей кнопки } } class ImageFrame extends JFrame { public ImageFrame(Image image) // в конструктор передаем наше изображение { setTitle("ScreenWindow"); Container pane = getContentPane(); JLabel label = new JLabel (new ImageIcon(image)); // передаем в Label наше изображение pane.add(label); pack(); } } public class MyRobot { public static void main(String[] args) { myFrame frame = new myFrame(); // создаем объект класса myFrame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // задаем действие обработчику на кнопку "крестик" frame.show(); // выводим на экран нашу форму } }
В итоге мы получим вот такую форму:
… при нажатие на кнопку «Screen» мы получаем скриншот, заданной области, в нашем случае (600×600)
Таким нехитрым способом мы научились создавать скриншоты при помощи JAVA.
Wikipedia: Ye is a letter of the Cyrillic script.
Получайте новые статьи блога прямо себе на почту
Как же я далёк от этих скриптов..))
Однако! будем вникать
Супер!