Java Robot类使用指南

翻看以前的笔记,发现awt包里有个Robot类,看看它能干啥

Java Robot类


Java Robot类使用指南

大概意思就是,此类用于生成本机系统输入事件,用于测试自动化、自运行演示以及其他需要控制鼠标和键盘的应用程序。Robot的主要目的是促进Java平台实现的自动化测试。

那可以做的事情就多了

常用方法


Java Robot类使用指南


Java Robot类使用指南


写个demo

笔记里的,不知道是抄的还是自己写的,为了简单点。就是隔一段时间截取当前屏幕图像

代码

public static void main(String[] args) throws AWTException, InterruptedException {
    // write your code here
    Robot robot = new Robot();
    JFrame jframe = new JFrame();
    //设置标题
    jframe.setTitle("监控屏幕工具");
    JLabel label = new JLabel();
    jframe.add(label);
    jframe.setSize(800, 600);
    //设置可见
    jframe.setVisible(true);
    //设置置顶
    jframe.setAlwaysOnTop(true);
    //控制台退出模式
    jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //获取屏幕大小
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    Dimension dm = toolkit.getScreenSize();
    while (true) {
        //一个矩形面板
        Rectangle rec = new Rectangle(0, 0, (int) dm.getWidth(), (int) dm.getHeight());
        //按照矩形截取图片到缓冲流
        BufferedImage img = robot.createScreenCapture(rec);
        //缩放图片
        BufferedImage newImg = resize(img, jframe.getWidth(), jframe.getHeight());
        label.setIcon(new ImageIcon(newImg));
        Thread.sleep(1000);
    }


}
public static BufferedImage resize(BufferedImage img, int newW, int newH) {
    int w = img.getWidth();
    int h = img.getHeight();
    //创建一个缩放后的图片流
    BufferedImage newImg = new BufferedImage(newW, newH, img.getType());
    Graphics2D g = newImg.createGraphics();
    //设置模式
    g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    //按比例缩放
    g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null);
    g.dispose();
    return newImg;
}

结语

抛砖引玉而已,做个复习。

展开阅读全文

页面更新:2024-05-05

标签:结语   抛砖引玉   矩形   缩放   控制台   置顶   使用指南   应用程序   演示   面板   图像   屏幕   模式   测试   笔记   数码   图片

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top