溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java怎么實現(xiàn)人工智能化屏幕監(jiān)控窗口

發(fā)布時間:2021-04-15 12:18:42 來源:億速云 閱讀:302 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)java怎么實現(xiàn)人工智能化屏幕監(jiān)控窗口的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體內(nèi)容如下

具體代碼實現(xiàn)(含注釋)

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

  /**
  *用于實時監(jiān)控屏幕的窗口
  *@author chengxi
  *@param void 
  *@return void 
  */
  public static void mvcontroll() throws Exception{

    /* 建立一個監(jiān)控屏幕的窗口 */
    JFrame frame = new JFrame("人工智能化屏幕監(jiān)控系統(tǒng)") ;
    frame.setSize(600,600) ;
    frame.setVisible(true) ;
    /* 設(shè)置總是顯示在頂部 */
    frame.setAlwaysOnTop(true) ;
    /* 獲取默認的工具包 */
    Toolkit tk = Toolkit.getDefaultToolkit() ;
    /* 使用工具包獲取屏幕的大小,這是創(chuàng)建工具包的唯一作用 */
    Dimension dm = tk.getScreenSize() ;
    /* 創(chuàng)建圖像的顯示區(qū)域 */
    JLabel imageLabel = new JLabel() ;
    frame.add(imageLabel) ;
    /* 創(chuàng)建一個機器人 */
    Robot robot = new Robot() ;
    /* 持續(xù)監(jiān)控屏幕 */
    while(true) {
      /* 創(chuàng)建用于顯示屏幕分享部分的區(qū)域,填入x/y/width/height
      Rectangle rec = new Rectangle(frame.getWidth() , 0 , (int)dm.getWidth() - frame.getWidth() , (int)dm.getHeight()) ;
      /* 根據(jù)屏幕分享的當前分享圖像創(chuàng)建一個圖像對象 */
      BufferedImage bufimg = robot.createScreenCapture(rec)) ;
      /* 實時顯示在圖像顯示區(qū)域中 */
      imageLabel.setIcon(new ImageIcon(bufimg)) ;
    }
  }

  /**
  *打開指定的路徑
  public static void midopenQQ(String path) throws Exception{
    Desktop desktop = Desktop.getDesktop() ;
    /* 打開指定的uri所指定的應(yīng)用程序 */
    desktop.open(new File(path)) ;
    /* 創(chuàng)建一個機器人 */
    Robot robot = new Robot() ;
    /* 因為創(chuàng)建機器人需要時間,因此在后續(xù)操作之前需要進行延遲加載 */
    robot.delay(2000) ;
    /* 使用robot的mouseMove方法將鼠標的光標移動到指定的位置上,這里我設(shè)置的是QQ界面的登錄按鈕上面 */
    robot.mouseMove(709,519) ;
    /* 定義鼠標事件:按下 */
    robot.mousePress(InputEvent.BUTTON1_DOWN_MASK) ;
    /* 定義鼠標事件:放開 */
    robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK) ;
    /* 事件的延遲 */
    robot.delay(300) ;
  }

  /**
  *簡單的打開path指定的路徑所在的應(yīng)用程序
  *@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指定的網(wǎng)址
  *@author chengxi
  *@param String uri
  *@return void
  */
  public static void openBrowse(String uri) throws Exception{
    /* 允許java程序使用在桌面上注冊了的所有應(yīng)用程序 */
    Desktop desktop = Desktop.getDesktop() ;
    /* 使用默認的瀏覽器打開指定uri */
    desktop.browse(new URI("http://www.baidu.com")) ;
  }

感謝各位的閱讀!關(guān)于“java怎么實現(xiàn)人工智能化屏幕監(jiān)控窗口”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI