java实现人工智能化屏幕监控窗口
本文实例为大家分享了java实现人工智能化屏幕监控窗口的具体代码,供大家参考,具体内容如下
具体代码实现(含注释)
publicclassMain{
publicstaticvoidmain(String[]args)throwsException{
/*testcode*/
}
/**
*用于实时监控屏幕的窗口
*@authorchengxi
*@paramvoid
*@returnvoid
*/
publicstaticvoidmvcontroll()throwsException{
/*建立一个监控屏幕的窗口*/
JFrameframe=newJFrame("人工智能化屏幕监控系统");
frame.setSize(600,600);
frame.setVisible(true);
/*设置总是显示在顶部*/
frame.setAlwaysOnTop(true);
/*获取默认的工具包*/
Toolkittk=Toolkit.getDefaultToolkit();
/*使用工具包获取屏幕的大小,这是创建工具包的唯一作用*/
Dimensiondm=tk.getScreenSize();
/*创建图像的显示区域*/
JLabelimageLabel=newJLabel();
frame.add(imageLabel);
/*创建一个机器人*/
Robotrobot=newRobot();
/*持续监控屏幕*/
while(true){
/*创建用于显示屏幕分享部分的区域,填入x/y/width/height
Rectanglerec=newRectangle(frame.getWidth(),0,(int)dm.getWidth()-frame.getWidth(),(int)dm.getHeight());
/*根据屏幕分享的当前分享图像创建一个图像对象*/
BufferedImagebufimg=robot.createScreenCapture(rec));
/*实时显示在图像显示区域中*/
imageLabel.setIcon(newImageIcon(bufimg));
}
}
/**
*打开指定的路径
publicstaticvoidmidopenQQ(Stringpath)throwsException{
Desktopdesktop=Desktop.getDesktop();
/*打开指定的uri所指定的应用程序*/
desktop.open(newFile(path));
/*创建一个机器人*/
Robotrobot=newRobot();
/*因为创建机器人需要时间,因此在后续操作之前需要进行延迟加载*/
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指定的路径所在的应用程序
*@authorchengxi
*@paramStringpath
*@returnvoid
*/
publicstaticvoideasyopenQQ(Stringpath)throwsException{
Desktopdesktop=Desktop.getDesktop();
/*打开指定的文件*/
desktop.open(newFile(path));
}
/**
*打开uri指定的网址
*@authorchengxi
*@paramStringuri
*@returnvoid
*/
publicstaticvoidopenBrowse(Stringuri)throwsException{
/*允许java程序使用在桌面上注册了的所有应用程序*/
Desktopdesktop=Desktop.getDesktop();
/*使用默认的浏览器打开指定uri*/
desktop.browse(newURI("http://www.baidu.com"));
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。