JSwing |使用Java Robot 创建放大工具
Java Robot 是Java AWT(Abstract Window Toolkit)包的一部分。 Java Robot 用于生成本地系统输入事件,用于测试自动化、自运行演示和其他需要控制鼠标和键盘的应用程序。使用Java Robot 的目的是获得对鼠标、键盘等输入事件的控制。
在本文中,我们将使用Java Robot 创建一个放大工具。
使用方法:
- getPointerInfo() :返回一个 PointerInfo 实例,表示鼠标指针的当前位置。
- getLocation() :返回一个表示位置的点实例
- createScreenCapture(Rectangle r) :捕获矩形 r 内的屏幕部分。
- drawImage(Image i, int x, int y, ImageObserver o) :在屏幕上指定图像观察者的 x, y 位置绘制图像
- drawImage(Image i, int x, int y,,int w, int h, ImageObserver o) :在屏幕上的 x, y 位置和指定的宽度和高度绘制图像,指定图像观察者
使用Java Robot 创建放大工具的Java程序
Java
// Java program to create a Magnifying tool
// using Java Robot
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
class magnify extends JFrame {
// object
static magnify m;
// image
Image i;
// default constructor
magnify()
{
// create a frame
super("magnify");
// set size of frame
setSize(200, 220);
show();
// function to magnify the image
work();
}
// main function
public static void main(String args[])
{
// object of class
m = new magnify();
}
public void work()
{
try {
// create a robot
Robot r = new Robot();
// while the frame is visible
while (isVisible()) {
// get the position of mouse
Point p = MouseInfo.getPointerInfo().getLocation();
// create a screen capture around the mouse pointer
i = r.createScreenCapture(new Rectangle((int)p.getX() - 30,
(int)p.getY() - 30, 150, 150));
// repaint the container
repaint();
}
// exit the program
System.exit(0);
}
catch (Exception e) {
System.err.println(e.getMessage());
}
}
// paint function
public void paint(Graphics g)
{
// draw the image
g.drawImage(i, 0, 0, 300, 300, this);
}
}
输出 :
注意:以下程序可能无法在在线编译器中运行,请使用离线 IDE。请使用最新版本的Java