java实现人工智能化屏幕监控窗口 java实现人工智能化屏幕监控窗口
成兮 人气:0具体代码实现(含注释)
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")) ; }
加载全部内容