Java Tutorial/Development/Robot

Материал из Java эксперт
Перейти к: навигация, поиск

Capture a screenshot

   <source lang="java">

import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; public class Main {

 public static void main(String[] argv) throws Exception {
   Robot robot = new Robot();
   int x = 100;
   int y = 100;
   int width = 200;
   int height = 200;
   Rectangle area = new Rectangle(x, y, width, height);
   BufferedImage bufferedImage = robot.createScreenCapture(area);
   // Capture the whole screen
   area = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
   bufferedImage = robot.createScreenCapture(area);
 }

}</source>





Capturing a Screen Shot

   <source lang="java">

import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; public class Main {

 public static void main(String[] argv) throws Exception {
   Robot robot = new Robot();
   int x = 100;
   int y = 100;
   int width = 200;
   int height = 200;
   Rectangle area = new Rectangle(x, y, width, height);
   BufferedImage bufferedImage = robot.createScreenCapture(area);
   area = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
   bufferedImage = robot.createScreenCapture(area);
 }

}</source>





Capturing Screen in an image using Robot class

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JWindow; public class Main {

 public static void main(String[] arg) throws Exception {
   Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
   Robot robot = new Robot();
   BufferedImage image = robot.createScreenCapture(new Rectangle(0, 0, (int) screenDim.getWidth(),
       (int) screenDim.getHeight()));
   JWindow window = new JWindow(new JFrame());
   window.getContentPane().setLayout(new BorderLayout());
   window.getContentPane().add(BorderLayout.CENTER, new JLabel(new ImageIcon(image)));
   window.pack();
   window.setVisible(true);
 }

}</source>





Create key press event using Robot class?

   <source lang="java">

import java.awt.Robot; import java.awt.event.KeyEvent; public class Main {

 public static void main(String[] args) throws Exception {
   Robot robot = new Robot();
   robot.delay(3000);
   robot.keyPress(KeyEvent.VK_Q);
   robot.keyPress(KeyEvent.VK_W);
   robot.keyPress(KeyEvent.VK_E);
   robot.keyPress(KeyEvent.VK_R);
   robot.keyPress(KeyEvent.VK_T);
   robot.keyPress(KeyEvent.VK_Y);
 }

}</source>





Create mouse event using Robot class

   <source lang="java">

import java.awt.Robot; import java.awt.event.InputEvent; public class Main {

 public static void main(String[] args) throws Exception {
   Robot robot = new Robot();
   robot.mouseMove(200, 200);
   robot.mousePress(InputEvent.BUTTON1_MASK);
   robot.mouseRelease(InputEvent.BUTTON1_MASK);
   robot.mouseWheel(-100);
 }

}</source>





Get the colour of a screen pixel

   <source lang="java">

import java.awt.Color; import java.awt.Robot; public class Main {

 public static void main(String[] args) throws Exception{
   Robot robot = new Robot();
   Color color = robot.getPixelColor(20, 20);
   System.out.println("Red   = " + color.getRed());
   System.out.println("Green = " + color.getGreen());
   System.out.println("Blue  = " + color.getBlue());
 }

}</source>





Moving the Cursor on the Screen

   <source lang="java">

import java.awt.Robot; public class Main {

 public static void main(String[] argv) throws Exception {
   Robot robot = new Robot();
   robot.mouseMove(500, 500);
 }

}</source>





Simulate a key press

   <source lang="java">

import java.awt.Robot; import java.awt.event.KeyEvent; public class Main {

 public static void main(String[] argv) throws Exception {
   Robot robot = new Robot();
   robot.keyPress(KeyEvent.VK_A);
   robot.keyRelease(KeyEvent.VK_A);
 }

}</source>





Simulate a mouse click

   <source lang="java">

import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; public class Main {

 public static void main(String[] argv) throws Exception {
   Robot robot = new Robot();
   
   robot.mousePress(InputEvent.BUTTON1_MASK);
   robot.mouseRelease(InputEvent.BUTTON1_MASK);
 }

}</source>