Java/Development Class/Robot
Содержание
- 1 Capture a screenshot
- 2 Capturing a Screen Shot
- 3 Capturing Screen in an image using Robot class
- 4 Create key press event using Robot class?
- 5 Create mouse event using Robot class
- 6 Get the colour of a screen pixel
- 7 Moving the Cursor on the Screen
- 8 Simulate a key press
- 9 Simulate a mouse click
- 10 Use Robot to do mouse press
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>
Use Robot to do mouse press
<source lang="java">
import java.awt.Robot; import java.awt.event.InputEvent; public class Main {
public static void main(String[] args) throws Exception { Robot r = new Robot(); r.mouseMove(35, 35); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); Thread.sleep(50); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); }
}
</source>