java实现人工智能化屏幕监控窗口

 更新时间:2018年09月28日 11:48:10   作者:成兮  
这篇文章主要为大家详细介绍了java实现人工智能化屏幕监控窗口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现人工智能化屏幕监控窗口的具体代码,供大家参考,具体内容如下

具体代码实现(含注释)

public class Main{
  public static void main(String[] args) throws Exception{
    /* test code */
  }

  /**
  *用于实时监控屏幕的窗口
  *@author chengxi
  *@param void 
  *@return void 
  */
  public static void mvcontroll() throws Exception{

    /* 建立一个监控屏幕的窗口 */
    JFrame frame = new JFrame("人工智能化屏幕监控系统") ;
    frame.setSize(600,600) ;
    frame.setVisible(true) ;
    /* 设置总是显示在顶部 */
    frame.setAlwaysOnTop(true) ;
    /* 获取默认的工具包 */
    Toolkit tk = Toolkit.getDefaultToolkit() ;
    /* 使用工具包获取屏幕的大小,这是创建工具包的唯一作用 */
    Dimension dm = tk.getScreenSize() ;
    /* 创建图像的显示区域 */
    JLabel imageLabel = new JLabel() ;
    frame.add(imageLabel) ;
    /* 创建一个机器人 */
    Robot robot = new Robot() ;
    /* 持续监控屏幕 */
    while(true) {
      /* 创建用于显示屏幕分享部分的区域,填入x/y/width/height
      Rectangle rec = new Rectangle(frame.getWidth() , 0 , (int)dm.getWidth() - frame.getWidth() , (int)dm.getHeight()) ;
      /* 根据屏幕分享的当前分享图像创建一个图像对象 */
      BufferedImage bufimg = robot.createScreenCapture(rec)) ;
      /* 实时显示在图像显示区域中 */
      imageLabel.setIcon(new ImageIcon(bufimg)) ;
    }
  }

  /**
  *打开指定的路径
  public static void midopenQQ(String path) throws Exception{
    Desktop desktop = Desktop.getDesktop() ;
    /* 打开指定的uri所指定的应用程序 */
    desktop.open(new File(path)) ;
    /* 创建一个机器人 */
    Robot robot = new Robot() ;
    /* 因为创建机器人需要时间,因此在后续操作之前需要进行延迟加载 */
    robot.delay(2000) ;
    /* 使用robot的mouseMove方法将鼠标的光标移动到指定的位置上,这里我设置的是QQ界面的登录按钮上面 */
    robot.mouseMove(709,519) ;
    /* 定义鼠标事件:按下 */
    robot.mousePress(InputEvent.BUTTON1_DOWN_MASK) ;
    /* 定义鼠标事件:放开 */
    robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK) ;
    /* 事件的延迟 */
    robot.delay(300) ;
  }

  /**
  *简单的打开path指定的路径所在的应用程序
  *@author chengxi
  *@param String path
  *@return void
  */
  public static void easyopenQQ(String path) throws Exception{
    Desktop desktop = Desktop.getDesktop() ;
    /* 打开指定的文件 */
    desktop.open(new File(path)) ;
  }

  /**
  *打开uri指定的网址
  *@author chengxi
  *@param String uri
  *@return void
  */
  public static void openBrowse(String uri) throws Exception{
    /* 允许java程序使用在桌面上注册了的所有应用程序 */
    Desktop desktop = Desktop.getDesktop() ;
    /* 使用默认的浏览器打开指定uri */
    desktop.browse(new URI("http://www.baidu.com")) ;
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用Idea连接MySQL的详细步骤总结

    使用Idea连接MySQL的详细步骤总结

    今天给大家带来的是关于IDEA连接数据库的问题,文章围绕着使用Idea连接MySQL的详细步骤展开,文中有非常详细的介绍及图文示例,需要的朋友可以参考下
    2021-06-06
  • Java实现读取TXT和CSV文件内容

    Java实现读取TXT和CSV文件内容

    这篇文章主要为大家详细介绍了如何利用Java语言实现读取TXT和CSV文件内容的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-02-02
  • 分布式Netty源码分析概览

    分布式Netty源码分析概览

    这篇文章主要为大家介绍了分布式Netty源码分析概览,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • spring拓展之如何定义自己的namespace

    spring拓展之如何定义自己的namespace

    这篇文章主要介绍了spring拓展之如何定义自己的namespace方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Spring中Properties的配置方式

    Spring中Properties的配置方式

    这篇文章主要介绍了Spring中Properties的配置方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • java8中@Contended注解的使用

    java8中@Contended注解的使用

    本文主要介绍了java8中@Contended注解的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • java  LinkedList类详解及实例代码

    java LinkedList类详解及实例代码

    这篇文章主要介绍了java LinkedList类详解及实例代码的相关资料,需要的朋友可以参考下
    2017-01-01
  • 理解Spring中的依赖注入和控制反转

    理解Spring中的依赖注入和控制反转

    这篇文章主要介绍了理解Spring中的依赖注入和控制反转,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Spring框架通过工厂创建Bean的三种方式实现

    Spring框架通过工厂创建Bean的三种方式实现

    这篇文章主要介绍了Spring框架通过工厂创建Bean的三种方式实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • mybatis注解动态sql注入map和list方式(防sql注入攻击)

    mybatis注解动态sql注入map和list方式(防sql注入攻击)

    这篇文章主要介绍了mybatis注解动态sql注入map和list方式(防sql注入攻击),具有很好的参考价值,希望对大家有所帮助。
    2021-11-11

最新评论